public IActionResult CreateTournament() { if (TempData.ContainsKey("ViewModel")) { return(View("TournamentManagement", TempData.Get <TournamentManagementViewModel>("ViewModel"))); } var viewModel = new TournamentManagementViewModel { StartDate = DateTime.Now, EndDate = DateTime.Now }; return(View("TournamentManagement", viewModel)); }
public async Task <IActionResult> CreateTournament([FromForm] TournamentManagementViewModel tournament) { if (!ModelState.IsValid) { tournament.Result = new BaseResponseWrapper { StatusCode = Models.Responses.StatusCode.BadRequest, Message = "The tournament team data sent is not valid" }; TempData.Set("ViewModel", tournament); return(RedirectToAction(nameof(CreateTournament))); } try { await fantasySoccerService.AddTournamentAsync(new Tournament { Name = tournament.Name, StartDate = tournament.StartDate, EndDate = tournament.EndDate }); tournament.Result = new BaseResponseWrapper { StatusCode = Models.Responses.StatusCode.OK, Message = "The tournament team has been created successfully" }; TempData.Set("Result", tournament.Result); return(RedirectToAction(nameof(TournamentManagement))); } catch (Exception exception) { var statusCode = exception is TournamentStartDateMustBeOlderThanEndDateException ? Models.Responses.StatusCode.BadRequest : Models.Responses.StatusCode.InternalServerError; tournament.Result = new BaseResponseWrapper { StatusCode = statusCode, Message = exception.Message }; TempData.Set("ViewModel", tournament); return(RedirectToAction(nameof(CreateTournament))); } }
public async Task <IActionResult> TournamentManagement() { if (TempData.ContainsKey("ViewModel")) { return(View("TournamentManagement", TempData.Get <TournamentManagementViewModel>("ViewModel"))); } var tournament = await fantasySoccerService.GetCurrentTournament(); var tournamentEdit = new TournamentManagementViewModel { Id = tournament.ID, Name = tournament.Name, EndDate = tournament.EndDate, StartDate = tournament.StartDate, Result = TempData.Get <BaseResponseWrapper>("Result") }; return(View("TournamentManagement", tournamentEdit)); }
public async Task <IActionResult> TournamentManagement([FromForm] TournamentManagementViewModel editedTournament) { if (!ModelState.IsValid) { editedTournament.Result = new BaseResponseWrapper { StatusCode = Models.Responses.StatusCode.BadRequest, Message = "The tournament team data sent is not valid" }; } try { var tournament = await fantasySoccerService.GetCurrentTournament(); tournament.ID = editedTournament.Id; tournament.Name = editedTournament.Name; tournament.StartDate = editedTournament.StartDate; tournament.EndDate = editedTournament.EndDate; await fantasySoccerService.UpdateTournament(tournament); editedTournament.Result = new BaseResponseWrapper { StatusCode = Models.Responses.StatusCode.OK, Message = "The tournament team has been updated successfully" }; } catch (Exception exception) { var statusCode = exception is TournamentStartDateMustBeOlderThanEndDateException ? Models.Responses.StatusCode.BadRequest : Models.Responses.StatusCode.InternalServerError; editedTournament.Result = new BaseResponseWrapper { StatusCode = statusCode, Message = exception.Message }; } TempData.Set("ViewModel", editedTournament); return(RedirectToAction(nameof(TournamentManagement))); }