public WashingMachine DisableWashingMachine(int id) { var machine = _context.WashingMachines .Single(x => x.Id == id); var startTime = DateTime.Now; startTime = LaundryTimeHelper.GetClosestStartTime( startTime, machine.Laundry.startTime, machine.Laundry.shiftTime, machine.Laundry.shiftCount ); var toRenew = machine.Reservations.Where(y => y.StartTime >= startTime && y.Fault == false).ToList(); foreach (var reservation in toRenew) { reservation.ToRenew = true; } var faultReservation = new Reservation { Fault = true, StartTime = startTime, WashingMachineId = id, ToRenew = false }; _context.Reservations.Add(faultReservation); _context.SaveChanges(); return(machine); }
public bool IsFaultAtTimeAtDay(int machineId, DateTime dateTime) { var machine = _context.WashingMachines.Single(x => x.Id == machineId); dateTime = LaundryTimeHelper.GetClosestStartTime(dateTime, machine.Laundry.startTime, machine.Laundry.shiftTime, machine.Laundry.shiftCount); return(IsFaultAtTime(machineId, dateTime)); }