No le atino una el dia de hoy... Gracias nuevamente Fabio por tu tiempo, ya tengo material para analizar
Saludos Edgar El 19 de octubre de 2010 17:19, Fabio Maulo <[email protected]> escribió: > justo agarraste un ejemplo donde no encapsulo el Add/Remove... bah... por > lo general en los ejemplo de mappings no uso encapsular nada ya que solo se > habla de mappings. > > > 2010/10/19 Edgar Ramos <[email protected]> > >> Lo andaba pensado y repensando y es totalmente logico, siempre tiene que >> haber 2 (Un Ingreso y una Salida), me he reido con el ejemplo de la carcel, >> pero como lo expuse pudiera haber sido el caso. >> >> Me di cuenta de los Add y Remove viendo algunos ejemplos interesantes, >> como este >> >> http://fabiomaulo.blogspot.com/2010/03/conform-mapping-many-to-many.html >> >> Sigo aprendiendo >> >> Saludos >> >> Edgar >> >> >> >> El 19 de octubre de 2010 17:08, Fabio Maulo <[email protected]>escribió: >> >> Si queres... la base está en el hecho que Entrada-Salida tienen que estar >>> juntos no pueden simplemente ser dos entradas distintas en una >>> collecction... bueno a menos que no se trate de los horarios de una carcel y >>> tu app. admite que los reclusos con cadena perpetua entran y nunca mas van a >>> salir ;) >>> >>> Los Add and Remove de cada collection están como metodos separados porque >>> van a tener logica de negocio (el tuyo es un lindo caso para demostrarlo). >>> En un mismo dia no se pueden agregar dos lapsos en overlaps o sea... >>> Lunes >>> 09:00 a 13:00 false >>> 12:00 a 14:00 true >>> 13:45 a 17:00 false >>> >>> Lo mismo pasa con los dias laborales. >>> >>> Digamos que las clases de negocio si bien tienen que ser POCO no >>> significa que no tengan que tener un minimo de logica. >>> >>> >>> 2010/10/19 Edgar Ramos <[email protected]> >>> >>>> Fabio muchas gracias, estoy analizando tus observaciones >>>> >>>> Saludos >>>> >>>> Edgar >>>> >>>> El 19 de octubre de 2010 16:28, Fabio Maulo <[email protected]>escribió: >>>> >>>> mmmm no me parece... >>>>> WorkDay >>>>> { >>>>> int DayOfWeek >>>>> IEnumerable<WorkTimeDef> Lapses >>>>> Add(WorkTimeDef timeDef) >>>>> Remove(WorkTimeDef timeDef) >>>>> } >>>>> >>>>> TimeRange (seguro no es una entidad; no tiene ID) >>>>> { >>>>> TimeSpan Begin >>>>> TimeSpan End >>>>> bool IsValid >>>>> bool Overlaps(TimeRange other) >>>>> etc. etc. >>>>> } >>>>> >>>>> WorkTimeDef >>>>> { >>>>> TimeRange Lapse; >>>>> bool IsLunchTime; >>>>> } >>>>> >>>>> FixedWorkWeek >>>>> { >>>>> IEnumerable<WorkDay> WorkDays >>>>> Add(WorkDay day) >>>>> Remove(WorkDay day) >>>>> } >>>>> >>>>> veo solo FixedWorkWeek como entidad pero podria ser tambien WorkDay... >>>>> no estoy tan seguro. >>>>> >>>>> 2010/10/19 Edgar Ramos <[email protected]> >>>>> >>>>>> Gracias Fabio >>>>>> >>>>>> Estoy empezando por el analisis de mi dominio, >>>>>> >>>>>> public class HorarioFijo : IHorario >>>>>> { >>>>>> .... >>>>>> private readonly IDictionary<DiaDeLaSemana, List<HoraLaboral>> >>>>>> mapeoHorasDia; >>>>>> ... >>>>>> } >>>>>> >>>>>> y se me olvidaba la parte de la bdd, aqui pongo un bosquejo de las >>>>>> tablas >>>>>> >>>>>> Las tablas podrian verse como lo siguiente >>>>>> >>>>>> Tabla Horarios (aplicaría la herencia table-per-class hierarchy) >>>>>> Campos >>>>>> HorarioID: 1 PK >>>>>> Descriminador: Pueden Ser Horarios Fijos o Variables >>>>>> Descripcion: De 08:30 A: 13:00 y De 14:00, A: 18:30 >>>>>> >>>>>> Tabla HorasDiarias Ejemplo1 >>>>>> HorasDiariasID HorarioID DiaSemana Ingreso1 Salida1 Ingreso2 >>>>>> Salida2 >>>>>> 1 1 Lunes 08:00 >>>>>> 13:00 14:00 18:00 >>>>>> 2 1 Martes 08:00 >>>>>> 13:00 14:00 18:00 >>>>>> 3 1 Miercoles 08:00 >>>>>> 14:00 00:00 00:00 >>>>>> >>>>>> >>>>>> Tabla HorasDiarias Ejemplo2 >>>>>> HorasDiariasID HorarioID DiaSemana HoraLaboralID >>>>>> 1 1 Lunes 1 >>>>>> 2 1 Martes 1 >>>>>> 3 1 Miercoles 2 >>>>>> >>>>>> Tabla HoraLaboral >>>>>> HoraLaboralID HorasDiariasID HorarioID EsHoraComida >>>>>> Tipo Hora >>>>>> 1 1 1 False >>>>>> Ingreso 08:00 >>>>>> 2 1 1 False >>>>>> Salida 18:00 >>>>>> 3 1 1 True >>>>>> Salida 13:00 >>>>>> 4 1 1 True >>>>>> Ingreso 14:00 >>>>>> >>>>>> >>>>>> Podria ser algo asi, pero desde luego como se esta en etapa de >>>>>> analisis, nada se encuentra creado en la bdd, lo vamos a generar con nh3 >>>>>> Cualquier comentario es bienvenido >>>>>> >>>>>> >>>>>> Saludos >>>>>> >>>>>> Edgar >>>>>> >>>>>> El 19 de octubre de 2010 14:35, Fabio Maulo >>>>>> <[email protected]>escribió: >>>>>> >>>>>> cual es la representacción en tablas ? >>>>>>> >>>>>>> 2010/10/19 Edgar Ramos <[email protected]> >>>>>>> >>>>>>>> Gente un saludo, en mi contexto tengo algo como lo siguiente >>>>>>>> >>>>>>>> public class HorarioFijo : IHorario >>>>>>>> { >>>>>>>> .... >>>>>>>> private readonly IDictionary<string, List<HoraLaboral>> >>>>>>>> HorasDia; >>>>>>>> ..... >>>>>>>> } >>>>>>>> >>>>>>>> Esto es posible mapearlo con nh3 ? >>>>>>>> >>>>>>>> Muchas gracias a todos >>>>>>>> >>>>>>>> Saludos >>>>>>>> >>>>>>>> Edgar >>>>>>>> >>>>>>>> -- >>>>>>>> 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 >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>> >>>> >>>> -- >>>> 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 >>> >> >> -- >> 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 > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
