示例#1
0
        public void search_Click(object sender, RoutedEventArgs e)
        {
            teamRoster.Items.Clear();
            if (teams.Count == 0)
            {
                MessageBox.Show(" Необходимо считать информацию из txt файла. ");
                return;
            }
            try
            {
                searchBox.Text = Pages.FirstUpper(searchBox.Text);

                Pages.RosterPage.rosterList.Items.Clear();
                Pages.RosterPage.playerStats.Items.Clear();
                bool a = false;
                foreach (Team team in teams)
                {
                    if (searchBox.Text == team.Name)
                    {
                        teamList.SelectedItem = searchBox.Text;
                        teamRoster.Items.Add(team.TeamInfo());
                        teamList.ScrollIntoView(teamList.SelectedItem);
                        a = true;
                        break;
                    }
                    foreach (Player player in team.Players)
                    {
                        if (searchBox.Text == player.Name)
                        {
                            teamList.SelectedItem = team.Name;
                            teamList.ScrollIntoView(teamList.SelectedItem);
                            showTeamRoster_Click(this, e);
                            item = team.Name;
                            Pages.RosterPage.rosterList.SelectedItem = player.Name;
                            Pages.RosterPage.playerStats.Items.Add(player.PlayerInfo());
                            a = true;
                            break;
                        }
                    }
                }
                if (!a)
                {
                    MessageBox.Show(" Нет такой команды и такого игрока. ");
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#2
0
        private void change_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Pages.TeamPage.teamRoster.Items.Clear();
                if ((String.IsNullOrWhiteSpace(teamName.Text)) || (Regex.IsMatch(teamName.Text, @"[А-Яа-я]")) || (String.IsNullOrWhiteSpace(coachName.Text)) || (Regex.IsMatch(coachName.Text, @"[А-Яа-я]")) || (String.IsNullOrWhiteSpace(numWins.Text)) || (String.IsNullOrWhiteSpace(numLoses.Text)))
                {
                    MessageBox.Show(" Недопустимы русские буквы и пустые поля. ");
                    return;
                }

                string newTeamName = Pages.FirstUpper(teamName.Text);
                foreach (Team team in prevTeams)
                {
                    if (newTeamName != name)
                    {
                        if (newTeamName == team.Name)
                        {
                            MessageBox.Show(" Недопустимо 2 одинаковых названия команд. ");
                            teamName.Clear();
                            return;
                        }
                    }
                }
                string nameOfCoach = Pages.FirstUpper(coachName.Text);
                foreach (Team team in prevTeams)
                {
                    if (nameOfCoach != coach)
                    {
                        if (nameOfCoach == team.NameOfCoach)
                        {
                            MessageBox.Show(" Этот тренер уже тренирует одну из команд. ");
                            coachName.Clear();
                            return;
                        }
                    }
                }
                int teamWins  = int.Parse(numWins.Text);
                int teamLoses = int.Parse(numLoses.Text);

                if (File.Exists("../../Players.txt"))
                {
                    using (StreamWriter sw = new StreamWriter("../../Players.txt"))
                    {
                        foreach (Team team in prevTeams)
                        {
                            if (team.Name == name)
                            {
                                team.Name        = newTeamName;
                                team.NameOfCoach = nameOfCoach;
                                team.Wins        = teamWins;
                                team.Loses       = teamLoses;
                            }
                            sw.WriteLine(team.ShortTeamInfoFile());
                            foreach (Player player in team.Players)
                            {
                                sw.WriteLine(player.PlayerInfoFile());
                            }
                            sw.WriteLine();
                        }
                    }
                }
                else
                {
                    MessageBox.Show(" Указан несуществующий путь. ");
                }

                if (File.Exists("../../Players.xml"))
                {
                    foreach (Team team in prevTeams)
                    {
                        if (name == team.Name)
                        {
                            team.Name        = newTeamName;
                            team.NameOfCoach = nameOfCoach;
                            team.Wins        = teamWins;
                            team.Loses       = teamLoses;
                        }
                    }
                    using (FileStream fs = new FileStream("../../Players.xml", FileMode.Open))
                    {
                        newFormatter.Serialize(fs, prevTeams);
                    }
                    Pages.TeamPage.readTXT_Click(this, e);
                    NavigationService.Navigate(Pages.TeamPage);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#3
0
        private void createNewPlayer_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if ((String.IsNullOrWhiteSpace(name.Text)) || (Regex.IsMatch(name.Text, @"[А-Яа-я]")) || (String.IsNullOrWhiteSpace(number.Text)) || (String.IsNullOrWhiteSpace(position.Text)) || (String.IsNullOrWhiteSpace(heightWeight.Text)) || (String.IsNullOrWhiteSpace(yearOfDraft.Text)) || (String.IsNullOrWhiteSpace(ptsRbsAst.Text)) || (String.IsNullOrWhiteSpace(blkStlTo.Text)) || (String.IsNullOrWhiteSpace(fgFt3pt.Text)) || (String.IsNullOrWhiteSpace(teamName.Text)))
                {
                    MessageBox.Show("Недопустимы русские буквы и пустые поля. ");
                    return;
                }

                string nameOfPlayer = Pages.FirstUpper(name.Text);
                foreach (Team team in prevTeams)
                {
                    foreach (Player player in team.Players)
                    {
                        if (nameOfPlayer == player.Name)
                        {
                            MessageBox.Show(" Этот игрок уже играет в одной из команд. ");
                            name.Clear();
                            return;
                        }
                    }
                }
                int      numOfPlayer       = int.Parse(number.Text);
                string   pos               = position.Text.ToUpper();
                string[] mass1             = heightWeight.Text.Split(';');
                int      playerGrowth      = int.Parse(mass1[0]);
                int      playerWeight      = int.Parse(mass1[1]);
                int      draftYear         = int.Parse(yearOfDraft.Text);
                string[] mass2             = ptsRbsAst.Text.Split(';');
                double   points            = double.Parse(mass2[0]);
                double   rebounds          = double.Parse(mass2[1]);
                double   assists           = double.Parse(mass2[2]);
                string[] mass3             = blkStlTo.Text.Split(';');
                double   steals            = double.Parse(mass3[0]);
                double   blocks            = double.Parse(mass3[1]);
                double   turnovers         = double.Parse(mass3[2]);
                string[] mass4             = fgFt3pt.Text.Split(';');
                double   fgPercentage      = double.Parse(mass4[0]);
                double   ftPercentage      = double.Parse(mass4[1]);
                double   threePtPercentage = double.Parse(mass4[2]);

                string nameOfTeam = Pages.FirstUpper(teamName.Text);

                bool isFound = false;
                foreach (Team team in prevTeams)
                {
                    if (team.Name == nameOfTeam)
                    {
                        isFound = true;
                        break;
                    }
                }
                if (!isFound)
                {
                    MessageBox.Show(" Команды с таким названием нет. ");
                    return;
                }

                Player newPlayer = new Player(nameOfPlayer, numOfPlayer, pos, playerGrowth, playerWeight, draftYear, points, rebounds, assists, steals, blocks, fgPercentage, ftPercentage, threePtPercentage, turnovers);

                if (File.Exists("../../Players.txt"))
                {
                    using (StreamWriter sw = new StreamWriter("../../Players.txt"))
                    {
                        foreach (Team team in prevTeams)
                        {
                            sw.WriteLine(team.ShortTeamInfoFile());
                            if (nameOfTeam == team.Name)
                            {
                                team.Players.Add(newPlayer);
                            }
                            foreach (Player player in team.Players)
                            {
                                sw.WriteLine(player.PlayerInfoFile());
                            }
                            sw.WriteLine();
                        }
                    }
                }
                else
                {
                    MessageBox.Show(" Указан несуществующий путь. ");
                }

                if (File.Exists("../../Players.xml"))
                {
                    using (FileStream fs = new FileStream("../../Players.xml", FileMode.Open))
                    {
                        newFormatter.Serialize(fs, prevTeams);
                    }
                    Pages.RosterPage.rosterList.Items.Clear();
                    NavigationService.Navigate(Pages.RosterPage);
                    Pages.RosterPage.updateTeamRoster();
                }
                else
                {
                    MessageBox.Show(" Указан несуществующий путь. ");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#4
0
        public void readTXT_Click(object sender, RoutedEventArgs e)
        {
            teamList.Items.Clear();
            teams.Clear();

            if (File.Exists("../../Players.txt"))
            {
                if (File.Exists("../../Players.xml"))
                {
                    try
                    {
                        using (StreamReader sr = new StreamReader("../../Players.txt", Encoding.Default))
                        {
                            while (!sr.EndOfStream)
                            {
                                List <Player> players = new List <Player>();

                                string teamName = Pages.FirstUpper(sr.ReadLine());
                                foreach (Team team in teams)
                                {
                                    if (team.Name == teamName)
                                    {
                                        MessageBox.Show(" Недопустимо наличие в файле двух команд с одинаковым названием. ");
                                        teams.Clear();
                                        players.Clear();
                                        return;
                                    }
                                }
                                string coachName = Pages.FirstUpper(sr.ReadLine());
                                foreach (Team team in teams)
                                {
                                    if (team.NameOfCoach == coachName)
                                    {
                                        MessageBox.Show(" Один тренер не может тренировать две команды. Проверьте информацию в файле. ");
                                        teams.Clear();
                                        players.Clear();
                                        return;
                                    }
                                }
                                string[] teamStats = sr.ReadLine().Split('-');
                                int      wins      = int.Parse(teamStats[0]);
                                int      loses     = int.Parse(teamStats[1]);
                                sr.ReadLine();
                                while (true)
                                {
                                    string playerName = Pages.FirstUpper(sr.ReadLine());
                                    foreach (Team team in teams)
                                    {
                                        foreach (Player player in team.Players)
                                        {
                                            if (player.Name == playerName)
                                            {
                                                MessageBox.Show(" Недопустимо наличие в файле двух игроков с одинаковым именем. ");
                                                teams.Clear();
                                                players.Clear();
                                                return;
                                            }
                                        }
                                    }
                                    if (playerName == "")
                                    {
                                        break;
                                    }
                                    string[] orgInfo     = sr.ReadLine().Split(',');
                                    int      num         = int.Parse(orgInfo[0]);
                                    string   position    = orgInfo[1];
                                    int      growth      = int.Parse(orgInfo[2]);
                                    int      weight      = int.Parse(orgInfo[3]);
                                    int      yearOfDraft = int.Parse(sr.ReadLine());
                                    string[] stats       = sr.ReadLine().Split(' ');
                                    double   pts         = double.Parse(stats[0]);
                                    double   rbs         = double.Parse(stats[1]);
                                    double   ast         = double.Parse(stats[2]);
                                    double   stl         = double.Parse(stats[3]);
                                    double   blk         = double.Parse(stats[4]);
                                    double   to          = double.Parse(stats[5]);
                                    double   fg          = double.Parse(stats[6]);
                                    double   ft          = double.Parse(stats[7]);
                                    double   tp          = double.Parse(stats[8]);
                                    Player   p           = new Player(playerName, num, position, growth, weight, yearOfDraft, pts, rbs, ast, stl, blk, fg, ft, tp, to);

                                    players.Add(p);
                                    if (sr.EndOfStream)
                                    {
                                        break;
                                    }
                                }
                                Team t = new Team(teamName, coachName, wins, loses, players);
                                teams.Add(t);
                            }
                        }
                        foreach (Team team in teams)
                        {
                            teamList.Items.Add(team.Name);
                        }

                        using (FileStream fs = new FileStream("../../Players.xml", FileMode.Create))
                        {
                            formatter.Serialize(fs, teams);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + " Проверьте корректность данных, введенных в файл. ");
                    }
                }
                else
                {
                    MessageBox.Show(" Указан несуществующий путь xml файла. ");
                }
            }
            else
            {
                MessageBox.Show(" Указан несуществующий путь текстового файла. ");
            }
        }