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); } }
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); } }
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); } }
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(" Указан несуществующий путь текстового файла. "); } }