eso es a consuntivo no en definicción.

2010/10/19 Charlie <[email protected]>

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

Responder a