public IActionResult AddScorers(AddGoalsViewModel model) { var homeTeam = _teamsService.GetTeam(model.HomeTeamId); var awayTeam = _teamsService.GetTeam(model.AwayTeamId); string user = User.Identity.Name; if (!homeTeam.TeamAdminEmails.Contains(user) && !awayTeam.TeamAdminEmails.Contains(user)) { return(NotFound()); } var homeScorerIdStrings = model.HomeScorerIds?.Split(','); var awayScorerIdStrings = model.AwayScorerIds?.Split(','); List <int> homeScorerIds = new List <int>(); if (homeScorerIdStrings != null) { foreach (string idString in homeScorerIdStrings) { if (int.TryParse(idString, out int id)) { homeScorerIds.Add(id); } } } List <int> awayScorerIds = new List <int>(); if (awayScorerIdStrings != null) { foreach (string idString in awayScorerIdStrings) { if (int.TryParse(idString, out int id)) { awayScorerIds.Add(id); } } } if (homeScorerIds.Count > 0) { _leaguesService.AddGoals(model.HomeTeamId, model.MatchId, homeScorerIds); } if (awayScorerIds.Count > 0) { _leaguesService.AddGoals(model.AwayTeamId, model.MatchId, awayScorerIds); } return(RedirectToAction(nameof(Details), "Leagues", new { id = model.LeagueId })); }
// GET: Matches/AddGoals/5 public async Task <IActionResult> AddScorers(int id) { var match = await _context.Matches.FindAsync(id); if (match == null) { return(NotFound()); } var model = new AddGoalsViewModel() { LeagueId = match.LeagueId, HomeTeamId = match.HomeTeamId, AwayTeamId = match.AwayTeamId, MatchId = match.Id, Match = match, AwayPlayersSelectList = new SelectList(_context.Teams.Include(x => x.Players).SingleOrDefault(x => x.Id == match.AwayTeamId)?.Players, "Id", "Name"), HomePlayersSelectList = new SelectList(_context.Teams.Include(x => x.Players).SingleOrDefault(x => x.Id == match.HomeTeamId)?.Players, "Id", "Name"), HomeScorerIds = _leaguesService.GetScorerIds(match.Id, match.HomeTeamId), AwayScorerIds = _leaguesService.GetScorerIds(match.Id, match.AwayTeamId) }; var homeTeam = _teamsService.GetTeam(match.HomeTeamId); var awayTeam = _teamsService.GetTeam(match.AwayTeamId); if (homeTeam.TeamAdminEmails.Contains(User.Identity.Name)) { model.IsHomeTeamAdmin = true; } if (awayTeam.TeamAdminEmails.Contains(User.Identity.Name)) { model.IsAwayTeamAdmin = true; } if (!model.IsHomeTeamAdmin && !model.IsAwayTeamAdmin) { return(NotFound()); } return(View(model)); }