Пример #1
0
 public ReporteDiarioDTO(long agenteId
                         , DateTime fechaBuscar
                         , Horario horario
                         , Novedad novedad
                         , ComisionServicio comision
                         , Lactancia lactancia
                         , RelojDefectuoso reloj)
 {
     AgenteId               = agenteId;
     FechaReporte           = fechaBuscar;
     _reporteServicio       = new ReporteServicio();
     _agente                = _reporteServicio.BuscarPorId(AgenteId);
     _horario               = horario;
     _accesos               = _reporteServicio.obtenerAccesos(AgenteId, fechaBuscar);
     _toleraciaLlegadaTarde = _reporteServicio.obtenerMinutosLlegadaTarde();
     _toleraciaAusente      = _reporteServicio.obtenerMinutosAusentes();
     _minutosLactancia      = _reporteServicio.obtenerMinutosLactancia();
     _lactancia             = lactancia;
     _novedad               = novedad;
     _comision              = comision;
     _reloj = reloj;
     if (_novedad != null)
     {
         _tipoNovedad = new TipoNovedad();
         _tipoNovedad = _reporteServicio.obtenerTipo(_novedad.Id);
     }
 }
Пример #2
0
        public Horario formateoHorarioEntrada(Horario horario, Novedad novedad, ComisionServicio comision, Lactancia lactancia)
        {
            if (novedad != null)
            {
                if (novedad.HoraDesde != null && novedad.HoraHasta != null)
                {
                    if (horario.HoraEntrada < novedad.HoraDesde)
                    {
                        return(horario);
                    }
                    else
                    {
                        if (horario.HoraSalida > novedad.HoraHasta)
                        {
                            horario.HoraEntrada = novedad.HoraHasta;
                            return(horario);
                        }
                        else
                        {
                            return(horario);
                        }
                    }
                }
                return(horario);
            }
            if (comision != null)
            {
                if (!comision.EsJornadaCompleta)
                {
                    if (horario.HoraEntrada < comision.HoraDesde)
                    {
                        return(horario);
                    }
                    else
                    {
                        if (horario.HoraSalida > comision.HoraHasta)
                        {
                            horario.HoraEntrada = comision.HoraHasta;
                            return(horario);
                        }
                        else
                        {
                            return(horario);
                        }
                    }
                }

                else
                {
                    return(horario);
                }
            }
            if (lactancia != null && lactancia.HoraInicio)
            {
                var minutos = new TimeSpan(0, obtenerMinutosLactancia(), 0);
                horario.HoraEntrada = horario.HoraEntrada.Value.Add(minutos);
                return(horario);
            }
            else
            {
                return(horario);
            }
        }