llegue tarde a la fiesta. Edgar, podes definir "un solo paso" ? no me quedó claro que significa "paso": round-trip, transacción, linea de codigo etc.
El 20 de enero de 2010 17:57, Edgar Ramos <[email protected]> escribió: > Gracias por los comentarios, antes manejaba toda esta logica con store > procedures y triggers, hoy requiero hacerlo de la forma correcta, > Carlos tu punto de vista me ha quedado gustando, algun link donde > profundizar seria bienvenido > > > saludos > > El día 20 de enero de 2010 15:46, Carlos Peix <[email protected]> > escribió: > > Diego, > > Para que veas que soy un caballero: yo no disiento con vos. :-) > > Por supuesto que Diego tiene razon pero, conceptualmente, lo que señala > es > > el equivalente a un store procedure (mas precisamente un trigger) escrito > en > > C#. > > Puede funcionar pero no es recomendable en un diseño nuevo, desde cero. > Al > > menos en mi opinion. > > ---------------------------------- > > Carlos Peix > > > > 2010/1/20 Diego Mijelshon <[email protected]> > >> > >> Disiento con Carlos respecto de si es _posible_ hacer esto, aunque estoy > >> de acuerdo en que no es un muy buen diseño. > >> Para lograr algo así, podrías usar un PostInsertEventListener que haga > la > >> actualización. > >> Algo más o menos así (no testeado): > >> void OnPostInsert(PostInsertEvent @event) > >> { > >> var linea = @event.Entity as Linea; > >> if (linea != null) > >> @event.Session.CreateQuery("update Producto set Stock = Stock - > >> :cantidad where Id = :idProducto") > >> .SetParameter("cantidad", linea.Cantidad) > >> .SetParameter("idProducto", linea.Producto.Id) > >> .ExecuteUpdate() > >> } > >> Así y todo, estarías usando un event listener, que es una herramienta de > >> infraestructura de NHibernate para un concern específico de negocio, lo > cual > >> tiene bastante mal olor. > >> > >> Diego > >> > >> > >> 2010/1/20 Edgar Ramos <[email protected]> > >>> > >>> Saludos a todos > >>> > >>> Como ejemplo similar el siguiente > >>> > >>> Tengo estas entidades, Venta, Linea (detalle de la venta), y Producto > >>> (con su stock), y requiero hacer lo siguiente > >>> > >>> Al momento de crear Una venta e ingresar su Detalle (Linea), me > >>> actualice el stock de cada uno de los productos (de Linea), > >>> basicamente stock=stock-(cantidad digitada) > >>> > >>> Puedo hacer esto ? > >>> > >>> Cualquier comentario es bienvenido > >>> > >>> Gracias nuevamente > >>> > >>> -- > >>> 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 > > > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Fabio Maulo
-- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
