seguimos en el aire pero bueno.... abstract WorkDay { int DayOfWeek abstract TimeSpan WorkTime {get; protected set;} }
VariableWorkDay { override TimeSpan WorkTime{get {return totalTime}} void SetTotalTime(TimeSpan totalTime) } FixedWorkDay { override TimeSpan WorkTime{get{ calculo sobre la collection}} IEnumerable<WorkTimeDef> Lapses Add(WorkTimeDef timeDef) Remove(WorkTimeDef timeDef) } Lo que varia es como interpretas las horas totales trabajadas en el dia 2010/10/19 Edgar Ramos <eramose...@gmail.com> > Hay una diferencia entre un Horario Fijo y un HorarioVariable, para el > HorarioVariable, el empleado no tiene hora fija de ingreso y salida y > cualquier dia de la semana, y unicamente por dia de la semana se > contabilizara el total de horas definidas, es decir: > > Lunes 4 horas totales de trabajo > Martes 5 horas totales de trabajo > ... > Sabado 3 horas totales de trabajo > > Mis disculpas por obviar este dato > > Saludos > > > > El 19 de octubre de 2010 16:28, Fabio Maulo <fabioma...@gmail.com>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 <eramose...@gmail.com> >> >>> 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 <fabioma...@gmail.com>escribió: >>> >>> cual es la representacción en tablas ? >>>> >>>> 2010/10/19 Edgar Ramos <eramose...@gmail.com> >>>> >>>>> 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: >>>>> NHibernate-Hispano@googlegroups.com >>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>> >>>> >>>> >>>> >>>> -- >>>> Fabio Maulo >>>> >>>> -- >>>> Para escribir al Grupo, hágalo a esta dirección: >>>> NHibernate-Hispano@googlegroups.com >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> NHibernate-Hispano@googlegroups.com >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> >> >> -- >> Fabio Maulo >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> NHibernate-Hispano@googlegroups.com >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > NHibernate-Hispano@googlegroups.com > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@googlegroups.com Para más, visite: http://groups.google.com/group/NHibernate-Hispano