// GET: Leagues/AddTeams public IActionResult AddTeams(int leagueId) { var league = _leaguesService.GetLeague(leagueId); //if he's not admin he can't add teams if (!league.LeagueAdminEmails.Contains(User.Identity.Name)) { _logger.LogWarning("User with email - " + User?.Identity?.Name + " tried to edit league with id " + leagueId); return(NotFound()); } AddTeamsViewModel model = new AddTeamsViewModel() { LeagueId = leagueId, League = league, CurrentTeams = league.Teams.Select(x => new Models.TeamViewModels.TeamDetailsViewModel() { TeamName = x.Name, TeamId = x.Id }).ToList() }; model.TeamsToSelect = _teamsService.GetTeamsThatAreNotInLeague(leagueId).Select(x => new Models.TeamViewModels.TeamDetailsViewModel() { TeamName = x.Name, TeamId = x.Id }).ToList(); return(View("AddTeams", model)); }
public async Task <IActionResult> AddTeams(AddTeamsViewModel model) { var league = _leaguesService.GetLeague(model.LeagueId); if (!league.LeagueAdminEmails.Contains(User.Identity.Name)) { return(NotFound()); } if (string.IsNullOrEmpty(model.SelectedTeamIds)) { ModelState.AddModelError("AddingTeamsNumber", "Morate označiti barem jedan tim kojeg želite dodati."); model.League = league; model.TeamsToSelect = _teamsService.GetTeamsThatAreNotInLeague(league.Id).Select(x => new TeamDetailsViewModel() { TeamId = x.Id, TeamName = x.Name }).ToList(); return(View(model)); } var teamIdsString = model.SelectedTeamIds.Split(',').ToList(); var teamIds = teamIdsString.Select(x => int.Parse(x)).ToList(); await _leaguesService.AddTeamsToLeague(teamIds, model.LeagueId); return(RedirectToAction(nameof(Details), new { id = model.LeagueId })); }