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; }
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); } } }
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); }