Beispiel #1
0
        public Defecto(EspecificacionDeDefecto especDe, string pie, DateTime now, Empleado empleado, TimeSpan?hora = null)
        {
            if (hora == null)
            {
                Hora = now;
            }
            else
            {
                Hora = now;
                if ((Hora.Date + hora) > now)
                {
                    Hora = ((DateTime)(Hora.Date + hora)).AddDays(-1);
                }
                else
                {
                    Hora = (DateTime)(Hora.Date + hora);
                }
            }
            EspecificacionDeDefecto = especDe;
            if (pie == "Izquierdo")
            {
                Pie = Pie.Izquierdo;
            }
            else
            {
                Pie = Pie.Derecho;
            }

            Empleado = empleado;
        }
Beispiel #2
0
 public void RegistrarDefecto(int numero, EspecificacionDeDefecto especDe, string pie, DateTime now, Empleado empleado, TimeSpan?hora = null)
 {
     if (numero > 0)
     {
         Defecto defecto = new Defecto(especDe, pie, now, empleado, hora);
         Defectos.Add(defecto);
     }
     if (numero < 0)
     {
         if (hora != null)
         {
             if (hora > ((TimeSpan)hora).Add(TimeSpan.Parse("01:00")))
             {
                 var defecto = Defectos.ToList().LastOrDefault(d => d.EspecificacionDeDefecto.Equals(especDe) &&
                                                               d.Pie.ToString().Equals(pie) && (d.Hora.TimeOfDay >= hora || d.Hora.TimeOfDay < ((TimeSpan)hora).Add(TimeSpan.Parse("01:00"))));
                 Defectos.Remove(defecto);
             }
             else
             {
                 var defecto = Defectos.ToList().LastOrDefault(d => d.EspecificacionDeDefecto.Equals(especDe) &&
                                                               d.Pie.ToString().Equals(pie) && d.Hora.TimeOfDay >= hora && d.Hora.TimeOfDay < ((TimeSpan)hora).Add(TimeSpan.Parse("01:00")));
                 Defectos.Remove(defecto);
             }
         }
         else
         {
             var defecto = Defectos.ToList().LastOrDefault(d => d.EspecificacionDeDefecto.Equals(especDe) &&
                                                           d.Pie.ToString().Equals(pie));
             Defectos.Remove(defecto);
         }
     }
 }
Beispiel #3
0
        public bool RegistrarDefecto(int numero, EspecificacionDeDefecto especDe, string pie, DateTime now, Empleado empleado, TimeSpan?hora = null)
        {
            if (Estado == EstadoOP.Activa)
            {
                Horario horarioActual = Horarios.LastOrDefault();
                if (horarioActual.Turno.SoyTurnoActual())
                {
                    horarioActual.RegistrarDefecto(numero, especDe, pie, now, empleado, hora);
                    return(true);
                }
                else
                {
                    if ((int)horarioActual.Turno.HeFilalizadoHace().TotalMinutes < 10)
                    {
                        horarioActual.RegistrarDefecto(numero, especDe, pie, now, empleado, hora);
                        return(true);
                    }
                }
            }

            return(false);
        }