public ActionResult MovePlayerToTeam(int teamId, int?leagueId, int seasonId, int?clubId, int?unionId) { var vm = new MovePlayerForm(); if (User.IsInAnyRole(AppRole.Workers)) { switch (usersRepo.GetTopLevelJob(AdminId)) { case JobRole.LeagueManager: //League manager is able to move players/teams at the league that he is managing. //except current team. No sense move player to team where he is presented at current time. var teamsInLeague = leagueRepo.GetTeamsByManager(AdminId, teamId, seasonId, unionId); vm.Teams = teamsInLeague.Select(x => new TeamDto { TeamId = x.TeamId, Title = x.Title }).ToList(); break; //Association(Union) manager is capable to move players/teams at the level of all leagues / association. case JobRole.UnionManager: var teamsAllLeaguesAssociation = teamRepo.GetAllExceptCurrent(teamId, seasonId, unionId); vm.Teams = teamsAllLeaguesAssociation; break; } } else if (User.IsInAnyRole(AppRole.Admins)) { if (clubId.HasValue) { vm.Teams = teamRepo.GetTeamsByClubSeasonId(clubId.Value, seasonId, unionId).Where(x => x.TeamId != teamId).Select(x => new TeamDto { TeamId = x.TeamId, Title = x.Title }).ToList(); } else { vm.Teams = teamRepo.GetAllExceptCurrent(teamId, seasonId, unionId); } } vm.CurrentTeamId = teamId; vm.CurrentLeagueId = leagueId; vm.SeasonId = seasonId; vm.ClubId = clubId; return(PartialView("_MovePlayerToTeam", vm)); }
public ActionResult MovePlayerToTeam(MovePlayerForm frm) { playersRepo.MovePlayersToTeam(frm.TeamId, frm.Players, frm.CurrentTeamId, frm.SeasonId); return(RedirectToAction("List", new { id = frm.CurrentTeamId, seasonId = frm.SeasonId })); }