Exemple #1
0
        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);
        }
Exemple #4
0
        public async void OnGet()
        {
            var model = await this.moderationService.PrepareMatchCreation();

            this.Input = model;
        }