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));
        }