public ActionResult OnPost(string submit) { AuthenticatedUser = ClubBaistUsers.GetUserFromUserName(User.Identity.Name); SelectedDate = DateTime.Parse(Request.Query["date"]); SelectedTime = DateTime.Parse(Request.Query["time"]); if (!ModelState.IsValid) { return(Page()); } var result = false; SelectedTeeTime = _requestDirector.FindTeeTime(SelectedDate, SelectedTime); SelectedTeeTime.Golfer1.FullName = ReservedGolfer1Name; SelectedTeeTime.Golfer2.FullName = ReservedGolfer2Name; SelectedTeeTime.Golfer3.FullName = ReservedGolfer3Name; SelectedTeeTime.Golfer4.FullName = ReservedGolfer4Name; if (IsNullOrEmpty(SelectedTeeTime.BookerId) || SelectedTeeTime.BookerId == " " || SelectedTeeTime.BookerId == "") { SelectedTeeTime.BookerId = AuthenticatedUser.Id; } var cancelledGolfers = new List <string>(); switch (submit) { case "cancelForGolferOne": cancelledGolfers.Add(ReservedGolfer1Name); break; case "cancelForGolferTwo": cancelledGolfers.Add(ReservedGolfer2Name); break; case "cancelForGolferThree": cancelledGolfers.Add(ReservedGolfer3Name); break; case "cancelForGolferFour": cancelledGolfers.Add(ReservedGolfer4Name); break; case "cancelTeeTime": if (!IsNullOrEmpty(ReservedGolfer1Name)) { cancelledGolfers.Add(ReservedGolfer1Name); } if (!IsNullOrEmpty(ReservedGolfer2Name)) { cancelledGolfers.Add(ReservedGolfer2Name); } if (!IsNullOrEmpty(ReservedGolfer3Name)) { cancelledGolfers.Add(ReservedGolfer3Name); } if (!IsNullOrEmpty(ReservedGolfer4Name)) { cancelledGolfers.Add(ReservedGolfer4Name); } SelectedTeeTime.BookerId = " "; break; case "CheckInGolfers": SelectedTeeTime.Golfer1CheckedIn = ReservedGolfer1CheckedIn; SelectedTeeTime.Golfer2CheckedIn = ReservedGolfer2CheckedIn; SelectedTeeTime.Golfer3CheckedIn = ReservedGolfer3CheckedIn; SelectedTeeTime.Golfer4CheckedIn = ReservedGolfer4CheckedIn; break; } result = submit switch { "cancelForGolferOne" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferTwo" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferThree" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelForGolferFour" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "cancelTeeTime" => _requestDirector.CancelTeeTime(SelectedTeeTime, cancelledGolfers), "Add" => _requestDirector.ReserveTeeTime(SelectedTeeTime), "CheckInGolfers" => _requestDirector.CheckInGolfers(SelectedTeeTime), _ => result }; if (!result) { return(Page()); } Alert = $"Modified TeeTime for {SelectedDate:dddd, dd MMMM yyyy} at {SelectedTime:hh:mm tt}"; return(RedirectToPage("ReserveTeeTime")); }