eso es a consuntivo no en definicción. 2010/10/19 Charlie <[email protected]>
> Disculpen si meto mi cuchara > > Estas haciendo esto para un Reloj checador? > > Una vez me tope con eso de los horarios: > > - una recomendación es importante que agregues fechas (por que si se > trabajan de un día para otro no solo necesitas las > horas también los días para que te de correctamente el tiempo laborado) > > -si puede haber solo entrada sin salida. Operativamente la gente > extrañamente no siempre checa su salida (eso lo tendrías que considerar no > digo que crees tu modelo considerando errores solo que los consideres ) > > -Tal vez te vendría manejar un concepto como Turno que tenga una lista > relacionada de datos referentes a las entradas y salidas durante el mismo > claro referentes a la persona. > > > > > > El 19 de octubre de 2010 17:27, Edgar Ramos <[email protected]>escribió: > > 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 >> > > -- > 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
