Hola Edgar, Este tipo de reglas de negocio no suelen manejarse a nivel de la persistencia, mas bien se manejan en el modelo o en una capa de servicios que incluye las operaciones permitidas en el modelo.
---------------------------------- Carlos Peix 2009/12/9 Edgar Ramos <[email protected]> > > Basicamente esas no son las reglas de este negocio, la aplicacion esta > pensada en ser utilizada por usuarios que manejan roles aquel que solo > es cajero para armar su factura tendra necesariamente que seleccionar > items que fueron persistidos con anterioridad por otro usuario con un > rol de diferente (este gestionara los productos entre otras cosas), el > usuario cajero no tiene porque persistir items, unicamente > seleccionarlos y armar la factura. > > Como soy nuevo en nhibernate he visto algunos ejemplos de > factura-linea-producto en el web, y todos persistian los items al > momento de armar la factura. > > Por ejemplo cuando vas al supermercado, y vas a una de las cajas, no > te encuentras con el cajero armando tu factura e ingresando > (persistiendo) tambien los items en ese momento, estos ya fueron > previamente ingresados > > Gracias por los comentarios, de todos estoy aprendiendo > > saludos > > > El día 8 de diciembre de 2009 18:25, José F. Romaniello > <[email protected]> escribió: > > Si tus productos son fijos, son contados, y no hay posibilidad en el > > mundo... Es decir, es más dificil que la empresa cambie de dueño, a que > > agregue nuevos productos, en ese caso..... No necesitas persistirlos, y > > podes mapearlos bien ;) > > Yo uso > > esto: > http://fabiomaulo.blogspot.com/2009/08/from-db-to-ram-wellknowinstancetype.html > > > > > > > > > > El 8 de diciembre de 2009 20:21, Edgar Ramos <[email protected]> > > escribió: > >> > >> Entendido, eres sabio en tus palabras > >> > >> gracias nuevamente y a seguir leyendo > >> > >> El día 8 de diciembre de 2009 17:04, Carlos Peix > >> <[email protected]> escribió: > >> > Hola Edgar, > >> > En tu segundo mail encuentro esta frase "mi duda era mas por el hecho > de > >> > crear un archivo de mapeo de una clase que no voy a persistir", > entiendo > >> > que > >> > te referis al producto. > >> > En condiciones usuales, un producto que no tiene mapping, no existe > para > >> > NH. > >> > Si lo que quieres decir es que no vas a "grabar" o "modificar" > productos > >> > u > >> > otros objetos con NH, esta muy bien, pero de todas maneras se > necesitan > >> > los > >> > mappings para que NH pueda recuperarlos. Si no quieres grabarlos > >> > simplemente > >> > no uses el metodo Save de la sesion. > >> > En la creacion de item de la factura, deberias utilizar una instancia > >> > del > >> > objeto producto que hayas recuperado con NHibernate en la misma > sesion. > >> > Entonces, para todos los objetos con los cuales quieres que trabaje > NH, > >> > ya > >> > sea recuperandolos o grabandolos, tendras que construir un mapping. > >> > ---------------------------------- > >> > Carlos Peix > >> > > >> > 2009/12/8 Edgar Ramos <[email protected]> > >> >> > >> >> Creo que va a darse lo que tu opinas, pero como se enfoca este > >> >> contexto en nhibernate ? > >> >> > >> >> Por ejemplo para otros casos con la misma Factura, si mi contexto > gira > >> >> alrededor de un hotel, mi factura tendra asociada una habitacion, un > >> >> huesped, una tarifa, todas estas ya ingresadas en el sistema (tambien > >> >> en la BDD), el cajero comienza armar las lineas (detalle de gastos > del > >> >> huesped) con productos (tambien ingresados en la BDD). > >> >> > >> >> El cajero no ingresa (no persiste) estos productos, tarifas, > >> >> huespedes, etc, simplemente los selecciona (de algun lado) y compone > >> >> su factura > >> >> > >> >> Estoy un poco perdido, pido disculpas por mi ignorancia > >> >> > >> >> El día 8 de diciembre de 2009 16:27, Carlos Peix > >> >> <[email protected]> escribió: > >> >> > Hola Edgar, > >> >> > Ahora entiendo un poco mas. En una primera lectura de tu mail > entendi > >> >> > que no > >> >> > querias persistir el producto "en la misma operacion que persistias > >> >> > la > >> >> > factura", pero que producto era un objeto persistente con su > >> >> > correspondiente > >> >> > mapping. > >> >> > No conozco tu diseño pero me atreveria a decir que no vas a tener > >> >> > problemas > >> >> > con la persistencia pero cuando recuperes la factura y sus items > (con > >> >> > NH) no > >> >> > vas a tener la instancia del objeto producto. > >> >> > ---------------------------------- > >> >> > Carlos Peix > >> >> > > >> >> > 2009/12/8 Edgar Ramos <[email protected]> > >> >> >> > >> >> >> Si efectivamente todo funciona, mi duda era mas por el hecho de > >> >> >> crear > >> >> >> un archivo de mapeo de una clase que no voy a persistir, pero creo > >> >> >> nhibernate no sabria que hacer sin este, ya que me saltaba un > error > >> >> >> al > >> >> >> no tener dicho archivo > >> >> >> > >> >> >> Gracias Carlos > >> >> >> > >> >> >> PD: En mi afan de hacer bien las cosas, estoy justamente leyendo > un > >> >> >> post anterior "DDD y Repositorios DAO" en donde mencionas todo lo > >> >> >> que > >> >> >> en mi cabeza todavia no logro armar, son tantas cosas por leer y > el > >> >> >> tiempo de entregar los proyectos avanza mas rapido > >> >> >> > >> >> >> El día 8 de diciembre de 2009 16:01, Carlos Peix > >> >> >> <[email protected]> escribió: > >> >> >> > Hola, > >> >> >> > Esa es la forma correcta y, si configuras correctamente los > >> >> >> > mappings, > >> >> >> > NH > >> >> >> > se > >> >> >> > encarga de todo. > >> >> >> > ---------------------------------- > >> >> >> > Carlos Peix > >> >> >> > > >> >> >> > 2009/12/8 Edgar Ramos <[email protected]> > >> >> >> >> > >> >> >> >> En mi intento por aprender Nhibernate estoy tratando de hacer > lo > >> >> >> >> siguiente > >> >> >> >> > >> >> >> >> De este Modelo Factura-Linea-Producto, solo deseo persistir > >> >> >> >> Factura > >> >> >> >> y > >> >> >> >> linea. Por supuesto que linea tiene 1..* Productos y 1 Producto > >> >> >> >> puede > >> >> >> >> estar en 1..* Lineas > >> >> >> >> No deseo persistir Productos ya que estos le serán mostrados al > >> >> >> >> usuario como una lista (datos existentes una tabla de la BDD ) > >> >> >> >> para > >> >> >> >> que el escoja cual añadir > >> >> >> >> Entonces tengo un objeto factura, al cual le añado una o varias > >> >> >> >> lineas > >> >> >> >> de factura, y cada linea tiene su producto respectivo, tengo > los > >> >> >> >> hbms > >> >> >> >> creados y correctamente mapeados de Factura, Linea y Producto > >> >> >> >> > >> >> >> >> Unicamente hago un session.Save(Factura) y un > >> >> >> >> transaction.Commit() y > >> >> >> >> logro mi objeto, el de no persistir producto, pero esta forma > >> >> >> >> seria > >> >> >> >> la > >> >> >> >> correcta ? > >> >> >> >> > >> >> >> >> Gracias por sus comentarios > >> >> >> >> > >> >> >> >> saludos > >> >> >> >> > >> >> >> >> > >> >> >> > > >> >> >> > > >> >> >> > > > >> >> >> > > >> >> >> > >> >> >> > >> >> > > >> >> > > >> >> > > > >> >> > > >> >> > >> >> > >> > > >> > > >> > > > >> > > >> > >> > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
