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

Responder a