public IActionResult PriceCheck(DateCheckFormModel dateCheckModel) { DateTime today = DateTime.UtcNow; var hallExists = this.hallsServices.HallExists(dateCheckModel.HallId); var enumExists = Enum.IsDefined(typeof(RentTimeEnum), dateCheckModel.RentTime); if (dateCheckModel.Date == null || !hallExists || !enumExists) { TempData.AddErrorMessage("Please make sure all required fields are filled out correctly"); return(RedirectToAction(nameof(DateCheck), dateCheckModel)); } DateTime eventDate = dateCheckModel.Date ?? DateTime.UtcNow; if (eventsServices.EventExists(eventDate, dateCheckModel.RentTime, dateCheckModel.HallId)) { TempData.AddErrorMessage("The selected Hall and Date are already reserved"); return(RedirectToAction(nameof(DateCheck), dateCheckModel)); } if (eventDate.Date < today.Date) { TempData.AddErrorMessage("You cannot make a reservation for a past date"); return(RedirectToAction(nameof(DateCheck), dateCheckModel)); } var priceCheckViewModel = GetEventInfoAndPriceCheckViewModel(dateCheckModel, eventDate); return(View(priceCheckViewModel)); }