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 <[email protected]>
> 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 <[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