private void Validate(Validation_Reservation model)
 {
     if (CalculateDaysPassed(model.DateOfAccommodation, model.DateOfExemption) <= 0)
     {
         throw new InvalidOperationException("Датата на назначаване трябва да бъде преди датата на освобождаване");
     }
     if (model.DateOfAccommodation.AddHours(ReservationHourStart) <= DateTime.UtcNow)
     {
         throw new InvalidOperationException("Датата на назначаване трябва да бъде след моментната дата");
     }
     foreach (var item in context.Reservations.Where(x => x.RoomId == model.RoomId && x.Id != model.ReservationId))
     {
         if ((item.DateOfAccommodation >= model.DateOfAccommodation && item.DateOfAccommodation < model.DateOfExemption)
             ||
             (item.DateOfExemption > model.DateOfAccommodation && item.DateOfExemption <= model.DateOfExemption))
         {
             throw new InvalidOperationException($"Стаята вече е резервирана за този период. Изберете дата преди {item.DateOfAccommodation}, или след {item.DateOfExemption}");
         }
     }
 }
예제 #2
0
        private void Validate(Validation_Reservation model)
        {
            if (CalculateDaysPassed(model.DateOfAccommodation, model.DateOfExemption) <= 0)
            {
                throw new InvalidOperationException("Date of accommodation must be before Date of exemption");
            }

            if (model.DateOfAccommodation.AddHours(GlobalVar.DefaultReservationHourStart) <= DateTime.UtcNow)
            {
                throw new InvalidOperationException("Date of accommodation must be after current date");
            }

            foreach (var item in _context.Reservations.Where(x => x.RoomId == model.RoomId && x.Id != model.ReservationId))
            {
                if ((item.DateOfAccommodation >= model.DateOfAccommodation && item.DateOfAccommodation < model.DateOfExemption)
                    ||
                    (item.DateOfExemption > model.DateOfAccommodation && item.DateOfExemption <= model.DateOfExemption))
                {
                    throw new InvalidOperationException($"Room is already reserved for the chosen period. Either choose a period before {item.DateOfAccommodation}, or after {item.DateOfExemption}");
                }
            }
        }