コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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)";
        }