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);
        }
Ejemplo n.º 2
0
        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));
        }