Hola Edgard,

Suponiendo que tenes un objeto Venta con varias instancia de Linea que, a su
vez, refieren cada uno a objetos Producto, lo que yo haria es un nuevo
objeto o servicio cuya responsabilidad fuera el registro de esa venta con la
consiguiente actualizacion del stock.

Este ultimo servicio seria el responsable de generar un objeto
MovimientoStock asociado a la venta con sus correspondientes objetos
LineaMovimientoStock y, una vez terminada esa operacion, persistir todo (La
Venta con sus lineas y el MovimientoStock con sus lineas).

Con este enfoque toda la logica de descuento de stock queda en tu aplicacion
y solo dejas a NHibernate la tarea de persistencia.

Por supuesto estoy omitiendo un monton de detalles para no hacer largo el
post.

----------------------------------
Carlos Peix

2010/1/20 Edgar Ramos <[email protected]>

> Gracias Carlos, efectivamente preguntaba si podia hacerlo con nhibernate
>
> Y tienes toda la razon, el diseño no es recomendable, ni desde el
> punto de vista de objetos y mucho menos en la base de datos, pero
> vuelvo a preguntar.
>
> Indistintamente de mi diseño, requiero hacer de un solo paso,
>
> .- Persistir mis objeto  y actualizar el valor de un campo (campos) de
> otro objeto relacionado
>
> y aqui pido disculpas, ya que esto no puede entrar en este foro
> --------------------------
> recomendaran que no coloques esa
> > logica (la del descuento de stock) en un stored procedure.
> > Hay otras opciones de diseño.
> -----------------------------------
>
> Al utilizar antes dataset, todo lo manejaba con store procedure y lo
> que hacia antes era precisamente lo que comentas esta mal, podrias
> poner un link al respecto para leerlo
>
> me disculpo nuevamente
>
> gracias
>
> El día 20 de enero de 2010 14:45, Carlos Peix <[email protected]>
> escribió:
> > Dado que estas consultando en un foro de NHibernate, entiendo que estas
> > preguntando si puede hacerse eso con herramientas de NHibernate.
> > La respuesta es que no, no puede hacerse con NHibernate pero podrias
> > utilizar un stored procedure para la persistencia de Linea que haga el
> > trabajo y utilizar el mapeo de NHibernate para utilizar ese stored
> > procedure.
> > Una vez dicho esto, creo que en un proyecto "green field" (desde cero),
> 11
> > de cada 10 inscriptos en este sitio te recomendaran que no coloques esa
> > logica (la del descuento de stock) en un stored procedure.
> > Hay otras opciones de diseño.
> > ----------------------------------
> > Carlos Peix
> >
> > 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

Responder a