public static void SavePlayerToFile(PlayerVM player, PlayersSaveFile saveFile, string filePath) { saveFile.Players[saveFile.Players.FindIndex(p => p.Equals(player))] = player; var json = JsonConvert.SerializeObject(saveFile); File.WriteAllText(filePath, json); }
private async void CbRepresentations_SelectionChanged(object sender, SelectionChangedEventArgs e) { spFavoriteRepresentation.Children.Clear(); spOpponentRepresentation.Children.Clear(); cbOpponents.Items.Clear(); Players.Clear(); FavoriteRepresentation = cbRepresentations.SelectedItem as Representation; if (File.Exists(Properties.Settings.Default.Players_Filepath)) { var jsonSaveFile = File.ReadAllText(Properties.Settings.Default.Players_Filepath); if (!string.IsNullOrEmpty(jsonSaveFile)) { PlayersSaveFile playersSaveFile = JsonConvert.DeserializeObject <PlayersSaveFile>(jsonSaveFile); if (playersSaveFile.ChampionshipType == this.ChampionshipType && playersSaveFile.Representation.FifaCode == FavoriteRepresentation.FifaCode) { Players = playersSaveFile.Players; FillStackPanelWithPlayers(spFavoriteRepresentation, Players); InitializeOpponentComponents(); return; } } } List <Player> players = await RepresentationRepo.GetPlayers(FavoriteRepresentation.FifaCode); players.Sort(); foreach (var player in players) { Players.Add(new PlayerVM { Player = player }); } Utilities.SaveDataToFile(new RepresentationSaveFile(FavoriteRepresentation, ChampionshipType), Properties.Settings.Default.Representation_Filepath);; Utilities.SavePlayersToFile(Players, ChampionshipType, FavoriteRepresentation, Properties.Settings.Default.Players_Filepath); FillStackPanelWithPlayers(spFavoriteRepresentation, Players); InitializeOpponentComponents(); }
private void FillFLPPlayers() { flpPlayers.Controls.Clear(); Players.Clear(); if (File.Exists(Properties.Settings.Default.Players_Filepath)) { try { var jsonPlayers = File.ReadAllText(Properties.Settings.Default.Players_Filepath); PlayersSaveFile players = JsonConvert.DeserializeObject <PlayersSaveFile>(jsonPlayers); if (players != null && players.ChampionshipType == this.ChampionshipType && players.Representation.Equals(favoriteRepresentation)) { foreach (var player in players.Players) { Players.Add(player); PlayerUC control = new PlayerUC(player); control.OnPlayerFavorited += OnPlayerFavorited; flpPlayers.Controls.Add(control); } Utilities.SavePlayersToFile(Players, ChampionshipType, favoriteRepresentation, Properties.Settings.Default.Players_Filepath); } else { foreach (var player in PlayersData) { PlayerVM playerVM = new PlayerVM { Player = player }; Players.Add(playerVM); var playerControl = new PlayerUC(playerVM); playerControl.OnPlayerFavorited += OnPlayerFavorited; flpPlayers.Controls.Add(playerControl); } Utilities.SavePlayersToFile(Players, ChampionshipType, favoriteRepresentation, Properties.Settings.Default.Players_Filepath); } } catch (Exception) { throw; } } else { foreach (var player in PlayersData) { PlayerVM playerVM = new PlayerVM { Player = player }; Players.Add(playerVM); var playerControl = new PlayerUC(playerVM); playerControl.OnPlayerFavorited += OnPlayerFavorited; flpPlayers.Controls.Add(playerControl); } Utilities.SavePlayersToFile(Players, ChampionshipType, favoriteRepresentation, Properties.Settings.Default.Players_Filepath); } favoritePlayerCount = GetFavoritePlayerCount(); lblPlayerCounter.Text = $"({favoritePlayerCount}/3)"; }