public async Task <IActionResult> OnPostAsync(string returnUrl = null) { if (!this.ModelState.IsValid) { this.Input = await this.moderationService.PrepareMatchCreation(); return(Page()); } var result = await this.moderationService.CreateMatch(Input); if (result == null) { return(Redirect(returnUrl ?? "/")); } ModelState.AddModelError(string.Empty, result); return(Page()); }
public Task <MatchCreationBindingModel> PrepareMatchCreation() { var teams = DbContext.Teams.ToArray(); var teamList = new List <SelectListItem>(); foreach (var team in teams) { var item = new SelectListItem { Value = team.Id.ToString(), Text = team.Name }; teamList.Add(item); } var result = new MatchCreationBindingModel() { Teams = teamList, Date = DateTime.Now, RoundIndex = 1 }; return(Task.FromResult(result)); }
public async Task <string> CreateMatch(MatchCreationBindingModel model) { var homeTeam = await DbContext.Teams.FindAsync(model.FirstTeamId); if (homeTeam == null) { return("Home team not found."); } var guestTeam = await DbContext.Teams.FindAsync(model.SecondTeamId); if (guestTeam == null) { return("Guest team not found."); } var match = Mapper.Map <Match>(model); await DbContext.Matches.AddAsync(match); await DbContext.SaveChangesAsync(); return(null); }
public async void OnGet() { var model = await this.moderationService.PrepareMatchCreation(); this.Input = model; }