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

Responder a