Muchas gracias d00t Entonces a lo que veo es que me toca buscar sobre Domain Events para resolver mi problema, dejando fuera a NH de esto... y pues Visitor ya lo había entendido, pero al parecer no me servirá..
Saludos... =) On 15 feb, 11:15, Gustavo Ringel <[email protected]> wrote: > No, mas bien algo como esto: > > http://www.udidahan.com/2009/06/14/domain-events-salvation/ > > <http://www.udidahan.com/2009/06/14/domain-events-salvation/>Listeners de NH > para algo que no es especifico de datos como la creacion de un movimiento > quiere decir que a una regla de negocios la estas todavia atendiendo a nivel > de datos. > > A mi gusto Listeners de NH se pueden usar para auditoria, tracing, o cosas > que son especificas de la capa de datos y que el dia que tiras la capa de > datos no tienen mas utilidad para tu negocio. > > Con Domain Events la idea es en el momento en que pasa algo avisar que paso > por ejemplo DomainEvents.FacturaGuardada(new FacturaGuardadaEvent() { > Factura = factura, Detalles = detallesList }) > > Vos tenes en algun lado un SalvarMovimientosHandler : > Handles<FacturaGuardadaEvent> y al atender el evento guarda un movimiento en > la base por cada detalle. > > Gustavo. > > 2010/2/15 Roberto Ramírez <[email protected]> > > > > > Muchas gracias por la respuesta Gustavo, me queda claro lo que > > comentas. > > > Una cuestión pequeñita... ¿un evento de dominio == listeners de nh? > > > On 15 feb, 10:51, Gustavo Ringel <[email protected]> wrote: > > > No entiendo exactamente donde entra NH en la consullta. > > > Es decir, el codigo que yo pienso para resolver eso al menos es > > > independiente de la capa de persistencia, tambien los visitors de Jose > > son > > > independientes de la capa de persistencia. > > > > Creo que NH no es un factor para la decision de negocio. Podrias > > > transformarlo en un factor si quisieras usar Listeners o alguna cosa > > > especifica de NH para guardar el movimiento. > > > > En mi caso el servicio que guarda la factura y los detalles llama al > > > Dao/Repositorio que sabe guardar una factura y sus detalles y se genera > > un > > > evento de dominio para cada detalle de factura. > > > > Otro componente recibe esos eventos y se encarga de guardar los > > movimientos. > > > > Los visitors de Jose hacen algo parecido a eso, pero creo que tambien > > Jose > > > para esos casos favorece domain events hoy en dia :) > > > > Gustavo. > > > > 2010/2/15 Roberto Ramírez <[email protected]> > > > > > Buenos días a todos. > > > > > ¿Puedo resolver con nhibernate esto o es un error en mi modelo? > > > > > Yo guardo una factura con su respectivo detalle, dentro de mi modelo > > > > yo necesito generar un movimiento en inventario y por cada movimiento > > > > guardar la referencia del detalle de la factura así: > > > > > Factura ==> Detalle ==> Movimiento > > > > > El proceso del movimiento al inventario es un paso intermedio al > > > > momento de guardar-actualizar mi factura. > > > > > En mi modelo, el detalle de la factura no conoce los movimientos en el > > > > inventario, pero el movimiento si conoce a que detalle de factura > > > > pertenece. > > > > > ¿Como identificar la referencia del detalle para insertarla en el > > > > movimiento si todo se ejecuta en un solo request (Session-Per-Request) > > > > y aun no conozco la referencia del detalle que se guardo en la base de > > > > datos? > > > > > Uso Visitor como patron de diseño tomado del post de J. Rommaniello > > > >http://jfromaniello.blogspot.com/2009/11/caso-practico-patron-visitor. > > .. > > > > , > > > > el proceso del movimiento lo realizo en un Visitor. > > > > > Muchas gracias por su ayuda. > > > > > -- > > > > Para escribir al Grupo, hágalo a esta dirección: > > > > [email protected] > > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > > [email protected] > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
