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); }
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); }
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); }
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); }
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); }