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 <eramose...@gmail.com> 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 <fabioma...@gmail.com>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 <eramose...@gmail.com>
>>
>>> 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 <fabioma...@gmail.com>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 <eramose...@gmail.com>
>>>>
>>>>> Fabio muchas gracias, estoy analizando tus observaciones
>>>>>
>>>>> Saludos
>>>>>
>>>>> Edgar
>>>>>
>>>>> 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
>>>>
>>>
>>>  --
>>> 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
>

-- 
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