public clsChallengeGame GetPreviousGameForPlayer(clsPlayer player)
        {
            clsChallengeGame previousGame = null;

            foreach (clsChallengeGame game in this)
            {
                if ((player.PlayerID == game.BlackPlayerID) ||
                    (player.PlayerID == game.WhitePlayerID))
                {
                    return(game);
                }
            }

            return(previousGame);
        }
Example #2
0
        private clsPlayer LoadPlayer_XML(string filePath)
        {
            try
            {
                System.IO.FileStream fs              = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                XmlSerializer        serializer      = new XmlSerializer(typeof(clsPlayer));
                clsPlayer            retrievedPlayer = (clsPlayer)serializer.Deserialize(fs);
                fs.Close();
                return(retrievedPlayer);
            }
            catch (Exception ex)
            {
                frmMessage messageForm = new frmMessage();
                messageForm.SetMessageText("Error loading player: " + ex.Message);
                messageForm.ShowDialog();
            }

            return(null);
        }
Example #3
0
        private bool SavePlayer_XML(clsPlayer playerToSave, string filepath)
        {
            try
            {
                using (System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.Create))
                {
                    XmlSerializer s = new XmlSerializer(playerToSave.GetType());
                    s.Serialize(fs, playerToSave);
                    fs.Close();
                }
            }
            catch (Exception ex)
            {
                frmMessage messageForm = new frmMessage();
                messageForm.SetMessageText("Error saving player: " + ex.Message);
                messageForm.ShowDialog();
                return(false);
            }

            return(true);
        }
Example #4
0
        public List <clsPlayer> LoadPlayersFromDataStore()
        {
            //SortableBindingList<clsPlayer> playerList = new SortableBindingList<clsPlayer>();
            List <clsPlayer> playerList = new List <clsPlayer>();

            if (System.IO.Directory.Exists(GetCurrentYearPlayerDirectory()) == true)
            {
                string[] fileList = System.IO.Directory.GetFiles(GetCurrentYearPlayerDirectory());
                foreach (string filePath in fileList)
                {
                    string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);
                    string ext      = System.IO.Path.GetExtension(filePath);
                    if (fileName.Contains("player_") && ext.Equals(".xml"))
                    {
                        clsPlayer retrievedPlayer = LoadPlayer_XML(filePath);
                        if (retrievedPlayer != null)
                        {
                            playerList.Add(retrievedPlayer);
                        }
                    }
                }
            }
            return(playerList);
        }
Example #5
0
        public void SetRankings()
        {
            List <clsPlayer> playerList = dataStore.LoadPlayersFromDataStore();

            initialRankings.Clear();
            finalRankings.Clear();
            foreach (clsPlayer player in playerList)
            {
                clsPlayerRanking newRank = new clsPlayerRanking();
                newRank.PlayerID       = player.PlayerID;
                newRank.Rank           = player.Rank;
                newRank.PlayerFullName = player.FullName;
                initialRankings.Add(newRank);
                finalRankings.Add(newRank);
            }
            initialRankings.Sort(rankComparer);
            finalRankings.Sort(rankComparer);


            foreach (clsChallengeGame game in listChallengeGames)
            {
                if (game.GameResult != "None")
                {
                    int blackPlayerRank = GetPlayerInitialRank(game.BlackPlayerID);
                    int whitePlayerRank = GetPlayerInitialRank(game.WhitePlayerID);

                    if (game.GameResult == "Draw")
                    {
                        if ((blackPlayerRank < whitePlayerRank) && (blackPlayerRank < whitePlayerRank - 1))
                        {
                            SetPlayerRank(game.WhitePlayerID, blackPlayerRank + 1);
                        }
                        else if ((whitePlayerRank < blackPlayerRank) && (whitePlayerRank < blackPlayerRank - 1))
                        {
                            SetPlayerRank(game.BlackPlayerID, whitePlayerRank + 1);
                        }
                    }
                    else if (game.GameResult == "White")
                    {
                        if (blackPlayerRank < whitePlayerRank)
                        {
                            SetPlayerRank(game.WhitePlayerID, blackPlayerRank);
                        }
                    }
                    else if (game.GameResult == "Black")
                    {
                        if (whitePlayerRank < blackPlayerRank)
                        {
                            SetPlayerRank(game.BlackPlayerID, whitePlayerRank);
                        }
                    }
                }
            }

            foreach (clsPlayerRanking ranking in finalRankings)
            {
                clsPlayer player = playerList.Find(x => x.PlayerID == ranking.PlayerID);
                player.Rank = ranking.Rank;
            }
            dataStore.SavePlayersToDataStore(playerList);
        }