public async Task <IActionResult> OnPost() { if (BookingStartTime < DateTime.UtcNow) { return(new BadRequestResult()); } var user = await _userManager.Users .Include(u => u.Member) .FirstOrDefaultAsync(u => u.NormalizedEmail == User.Identity.Name); if (user == null) { return(new ChallengeResult()); } var result = await _courtBookingManager.MakeBookingAsync(BookingStartTime, BookingStartTime.AddHours(BookingLengthInHours), CourtId, user.Member); if (result.BookingSuccessful) { TempData["BookingSuccess"] = true; return(RedirectToPage("/Bookings")); } Errors = result.Errors.ToArray(); return(Page()); }
public async Task OnGet() { var maxHours = _bookingConfiguration.MaxRegularBookingLengthInHours; var maxAvailableHour = await _bookingService.GetMaxBookingSlotForCourtAsync(BookingStartTime, BookingStartTime.AddHours(maxHours), CourtId); PossibleHourLengths = new SelectList(Enumerable.Range(1, maxAvailableHour)); }