private void EditBankButton_Click(object sender, RoutedEventArgs e) { try { List <Bank> ableToEditBanks = new List <Bank>(); BinaryFormatter formatter = new BinaryFormatter(); List <Bank> banks = new List <Bank>(); using (FileStream fs = new FileStream("Banks.dat", FileMode.OpenOrCreate)) { banks = (List <Bank>)formatter.Deserialize(fs); } FileStream fsn = new FileStream("name.txt", FileMode.Open); List <User> users = new List <User>(); using (StreamReader sr = new StreamReader(fsn)) { string str = sr.ReadLine(); string[] loginName = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); User authorisedUser = new User(loginName[1], loginName[0]); users.Add(authorisedUser); } for (int i = 0; i < banks.Count; i++) { if (banks[i].GetUserName(banks[i]) == users[0].Login) { ableToEditBanks.Add(banks[i]); } } if (ableToEditBanks.Count == 0) { MessageBox.Show("Вы не можете изменить ни одного банка.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } else { EditBankPage EditBankPage = new EditBankPage(); NavigationService.Navigate(EditBankPage); } } catch { MessageBox.Show("Что-то пошло не так...", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void EditBankButton_Click(object sender, RoutedEventArgs e) { InitializeComponent(); if (NameTextBox.Text != "") { string s = NameTextBox.Text; s = s.Substring(0, 1).ToUpper() + s.Remove(0, 1); NameTextBox.Text = s; } if (MetroTextBox.Text != "") { string s = MetroTextBox.Text; s = s.Substring(0, 1).ToUpper() + s.Remove(0, 1); MetroTextBox.Text = s; } if (AddressTextBox.Text != "") { string s = AddressTextBox.Text; s = s.Substring(0, 1).ToUpper() + s.Remove(0, 1); AddressTextBox.Text = s; } BinaryFormatter formatter = new BinaryFormatter(); List <Bank> banks = new List <Bank>(); using (FileStream fs = new FileStream("Banks.dat", FileMode.OpenOrCreate)) { banks = (List <Bank>)formatter.Deserialize(fs); } FileStream fsn = new FileStream("name.txt", FileMode.Open); List <User> users = new List <User>(); using (StreamReader sr = new StreamReader(fsn)) { string str = sr.ReadLine(); string[] loginName = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); User authorisedUser = new User(loginName[1], loginName[0]); users.Add(authorisedUser); } for (int i = 0; i < banks.Count; i++) { if (banks[i].GetUserName(banks[i]) == users[0].Login) { ableToEditBanks.Add(banks[i]); } } for (int i = 0; i < banks.Count; i++) { if ((banks[i].Name == ableToEditBanks[int.Parse(editedBank[0])].Name) && (banks[i].Address == ableToEditBanks[int.Parse(editedBank[0])].Address) && (banks[i].Metro == ableToEditBanks[int.Parse(editedBank[0])].Metro) && (banks[i].Telephone == ableToEditBanks[int.Parse(editedBank[0])].Telephone) && (banks[i].Rate == ableToEditBanks[int.Parse(editedBank[0])].Rate) && (banks[i].Opinion == ableToEditBanks[int.Parse(editedBank[0])].Opinion)) { banks.Remove(banks[i]); } } using (FileStream fs = new FileStream("Banks.dat", FileMode.OpenOrCreate)) { formatter.Serialize(fs, banks); } Bank newBank = new Bank(NameTextBox.Text, AddressTextBox.Text, MetroTextBox.Text, TelephoneTextBox.Text, RateComboBox.Text, OpinionTextBox.Text); List <Bank> banksEdited = new List <Bank>(); using (FileStream fs = new FileStream("Banks.dat", FileMode.OpenOrCreate)) { banksEdited = (List <Bank>)formatter.Deserialize(fs); } banksEdited.Add(newBank); using (FileStream fs = new FileStream("Banks.dat", FileMode.OpenOrCreate)) { formatter.Serialize(fs, banksEdited); } EditBankPage EditBankPage = new EditBankPage(); NavigationService.Navigate(EditBankPage); }