public async Task <IActionResult> PutTeamPlayers([FromRoute] int id, [FromBody] TeamPlayers teamPlayers)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != teamPlayers.Id)
            {
                return(BadRequest());
            }

            _context.Entry(teamPlayers).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TeamPlayersExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 2
0
        public static void AssignTeamsServer()
        {
            var Players      = PlayerControl.AllPlayerControls.ToArray().Shuffle();
            var TeamIndex    = 0;
            var EnabledTeams = Teams.Where(Team => Team.Enable).ToList();

            if (EnabledTeams.Count == 0)
            {
                throw new Exception("No teams enabled");
            }

            if (Military.TeamAffinity.GetValue())
            {
                var Affinities = TeamAffinityController.GetAffinities();

                foreach (var(Team, TeamPlayers) in Affinities)
                {
                    foreach (var Player in TeamPlayers.Select(PlayerTools.GetPlayerById))
                    {
                        Team.Players.Add(Player);
                        Player.Extra().SetTeam(Team);
                    }
                }
                foreach (var Control in PlayerControl.AllPlayerControls)
                {
                    var Extra = Control.Extra();
                    if (Extra.Team != null)
                    {
                        continue;
                    }

                    var Team = EnabledTeams[0];
                    Team.Players.Add(Control);
                    Extra.SetTeam(Team);
                }
                TeamAffinityController.Reset();
            }
            else
            {
                foreach (var Player in Players)
                {
                    var CurrentTeam = EnabledTeams[TeamIndex];
                    TeamIndex = (TeamIndex + 1) % EnabledTeams.Count;

                    CurrentTeam.Players.Add(Player);
                    Player.Extra().SetTeam(CurrentTeam);
                }
            }

            foreach (var Team in Teams)
            {
                Team.AssignRoles();
            }

            AssignTeamsAndRolesMessage.INSTANCE.Send(Teams);
        }
Exemplo n.º 3
0
        public async Task OnGetAsync(string sortOrder)
        {
            SetCurrentLeague();  //Calls BasePageModel to setup current league in base LeagueSelectVM


            NameSort = String.IsNullOrEmpty(sortOrder) ? "Name_desc" : "";

            PointSort = sortOrder == "Points_desc" ? "Points" : "Points_desc";

            TeamSort = sortOrder == "Team" ? "Team_desc" : "Team";

            LevelSort = sortOrder == "Level" ? "Level_desc" : "Level";


            TeamPlayers = await _teamPlayerService.GetTeamPlayersForLeagueAsync(LeagueSelectVM.SelectedLeague.LeagueId);

            TeamPlayersIQ = TeamPlayers.AsQueryable();

            switch (sortOrder)
            {
            case "Name_desc":
                TeamPlayersIQ = TeamPlayersIQ.OrderByDescending(tp => tp.Player.PlayerName);
                break;

            case "Points":
                TeamPlayersIQ = TeamPlayersIQ.OrderBy(tp => tp.GamesWon);
                break;

            case "Points_desc":
                TeamPlayersIQ = TeamPlayersIQ.OrderByDescending(tp => tp.GamesWon);
                break;

            case "Team":
                TeamPlayersIQ = TeamPlayersIQ.OrderBy(tp => tp.Team.TeamNo).ThenBy(tp => tp.Level);
                break;

            case "Team_desc":
                TeamPlayersIQ = TeamPlayersIQ.OrderByDescending(tp => tp.Team.TeamNo);
                break;

            case "Level":
                TeamPlayersIQ = TeamPlayersIQ.OrderBy(tp => tp.Level).ThenByDescending(tp => tp.GamesWon);
                break;

            case "Level_desc":
                TeamPlayersIQ = TeamPlayersIQ.OrderByDescending(tp => tp.Level);
                break;

            default:
                TeamPlayersIQ = TeamPlayersIQ.OrderBy(tp => tp.Player.PlayerName);
                break;
            }

            TeamPlayers = TeamPlayersIQ.AsNoTracking().ToList();
        }
Exemplo n.º 4
0
        public HashSet <ulong> GetTeamFull(GameResult game, int teamNumber)
        {
            var cap     = TeamCaptains.FirstOrDefault(x => x.GuildId == game.GuildId && x.ChannelId == game.LobbyId && x.GameNumber == game.GameId && x.TeamNumber == teamNumber);
            var players = TeamPlayers.Where(x => x.GuildId == game.GuildId && x.ChannelId == game.LobbyId && x.GameNumber == game.GameId && x.TeamNumber == teamNumber).Select(x => x.UserId).ToHashSet();

            if (cap != null)
            {
                players.Add(cap.UserId);
            }
            return(players);
        }
        public async Task <IActionResult> PostTeamPlayers([FromBody] TeamPlayers teamPlayers)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.TeamPlayers.Add(teamPlayers);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTeamPlayers", new { id = teamPlayers.Id }, teamPlayers));
        }
        public Team(ICollection <User> players)
        {
            if (players.Count > 2)
            {
                throw new ArgumentOutOfRangeException(
                          nameof(players),
                          "The number of players on a team must not exceed two.");
            }

            foreach (var player in players)
            {
                TeamPlayers.Add(new TeamPlayer(this, player));
            }
        }
Exemplo n.º 7
0
        public void InIt()
        {
            _id              = Guid.NewGuid();
            _stubModel       = MockRepository.GenerateStub <IModel>();
            _stubTeamPlayers = MockRepository.GenerateStub <TeamPlayers>();
            _stubDtoPlayer   = MockRepository.GenerateStub <PlayerDTO>();
            _stubPlayer      = MockRepository.GenerateStub <Player>();

            _stubSerializer        = MockRepository.GenerateStub <ISerializer>();
            _stubLinqService       = MockRepository.GenerateStub <ILinqService>();
            _stubRemoteFile        = MockRepository.GenerateStub <IRemoteFile>();
            _stubPersistentService = MockRepository.GenerateStub <IPersistentService>();
            _target = new PersistentService(_stubSerializer,
                                            _stubLinqService, _stubRemoteFile);
        }
Exemplo n.º 8
0
        // GET: Teams/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TeamPlayers tp = new TeamPlayers();

            tp.Team = db.Teams.Find(id);
            if (tp.Team == null)
            {
                return(HttpNotFound());
            }
            else
            {
                List <Player> query2 = (from player in db.Players where player.TeamId == id select player).ToList();
                tp.Team.Players = query2;
            }
            return(View(tp));
        }
Exemplo n.º 9
0
        public void Saveobject(TeamPlayers obj, string path)
        {
            var str = _remoteFile.ReadFileData(path);
            List <TeamPlayers> teamPlayersList;

            if (str == "[]")
            {
                teamPlayersList = new List <TeamPlayers> {
                    obj
                };
            }
            else
            {
                teamPlayersList = _serializer.DeSerialize <List <TeamPlayers> >(str);
                teamPlayersList.Add(obj);
            }

            var objStr = _serializer.Serialize(teamPlayersList);

            _remoteFile.WriteFileData(path, objStr);
        }
Exemplo n.º 10
0
 public void Addplayer(Player player)
 {
     if (TeamPlayers.Count() == 15)
     {
         Console.WriteLine("Limite de jugadores por equipo (15) alcanzado");
     }
     if (!League)//si el equipo no es de liga, checkeamos nacionalidad
     {
         if (player.Nationality.ToUpper() == Nationality.ToUpper())
         {
             TeamPlayers.Add(player);
             Console.WriteLine("Jugador añadido con exito.");
         }
         else
         {
             Console.WriteLine("Jugadores de distinta nacionalidad, no se puede añadir este jugador al equipo.");
         }
     }
     else
     {
         TeamPlayers.Add(player);
         Console.WriteLine("Jugador añadido con exito.");
     }
 }
Exemplo n.º 11
0
        public TeamViewModel(Team t)
        {
            playersRepository = MainViewModel.Instance.PlayersRepository;
            teamsRepository   = MainViewModel.Instance.TeamsRepository;

            Team        = t;
            TeamPlayers = Team.Players.ToList();

            AddPlayerCommand = new RelayCommand(() =>
            {
                NewPlayerWindow newPlayerWindow = new NewPlayerWindow();

                // Show window modally
                // NOTE: Returns only when window is closed
                bool?dialogResult = newPlayerWindow.ShowDialog();

                if (dialogResult == true)
                {
                    Player p = new Player()
                    {
                        Name     = newPlayerWindow.PlayerName.Text,
                        Nickname = newPlayerWindow.PlayerNickname.Text,
                        TeamId   = Team.Id
                    };
                    playersRepository.Create(p);

                    UpdateTeamPlayers();
                }
            });

            EditPlayerCommand = new RelayCommand(() =>
            {
                if (SelectedPlayer == null)
                {
                    MessageBox.Show("Ничего не выбрано");
                    return;
                }

                EditPlayerWindow editPlayerWindow    = new EditPlayerWindow();
                editPlayerWindow.PlayerName.Text     = SelectedPlayer.Name;
                editPlayerWindow.PlayerNickname.Text = SelectedPlayer.Nickname;
                editPlayerWindow.PlayerTeamId.Text   = SelectedPlayer.TeamId.ToString();

                bool?dialogResult = editPlayerWindow.ShowDialog();

                if (dialogResult == true)
                {
                    int newId    = int.Parse(editPlayerWindow.PlayerTeamId.Text);
                    Team newTeam = teamsRepository.Get(team => team.Id == newId).SingleOrDefault();
                    if (newTeam == null)
                    {
                        MessageBox.Show("Такой команды не существует\nПроверьте Id");
                        return;
                    }

                    if (newId != SelectedPlayer.TeamId)
                    {
                        SelectedPlayer.TeamId = newId;
                        SelectedPlayer.Team   = null;
                    }
                    SelectedPlayer.Name     = editPlayerWindow.PlayerName.Text;
                    SelectedPlayer.Nickname = editPlayerWindow.PlayerNickname.Text;

                    playersRepository.Update(SelectedPlayer);

                    UpdateTeamPlayers();
                }
            });

            RemovePlayerCommand = new RelayCommand(() =>
            {
                if (SelectedPlayer == null)
                {
                    return;
                }

                playersRepository.Remove(SelectedPlayer);

                // Update list of teams to get fresh info about all teams
                MainViewModel.Instance.UpdateTeamsList();
                // load fresh info about players in selected team
                TeamPlayers = playersRepository.GetPlayersWithTeams(player => player.TeamId == Team.Id).ToList();
            });

            RefreshPlayersListCommand    = new RelayCommand(() => TeamPlayers = playersRepository.GetPlayersWithTeams(player => player.TeamId == Team.Id));
            SortPlayersByNameCommand     = new RelayCommand(() => TeamPlayers = TeamPlayers.OrderBy(player => player.Name).ToList());
            SortPlayersByNicknameCommand = new RelayCommand(() => TeamPlayers = TeamPlayers.OrderBy(player => player.Nickname).ToList());
            SortPlayersByIdCommand       = new RelayCommand(() => TeamPlayers = TeamPlayers.OrderBy(player => player.Id).ToList());
        }
Exemplo n.º 12
0
 public IEnumerable <TeamPlayer> GetTeam2(GameResult game)
 {
     return(TeamPlayers.Where(x => x.GuildId == game.GuildId && x.ChannelId == game.LobbyId && x.GameNumber == game.GameId && x.TeamNumber == 2));
 }
Exemplo n.º 13
0
 public IEnumerable <TeamPlayer> GetTeamPlayers(ulong guildId, ulong channelId, int gameNumber, int teamId)
 {
     return(TeamPlayers.Where(x => x.GuildId == guildId && x.ChannelId == channelId && x.GameNumber == gameNumber && x.TeamNumber == teamId));
 }
 public Team(User player)
 {
     TeamPlayers.Add(new TeamPlayer(this, player));
 }