// Обработка создания почтового ящика private void CreatBoxButton_Click(object sender, RoutedEventArgs e) { // Запуск диалогового окна для ввода настроек почтового ящика CreatBoxWindow NewWindow = new CreatBoxWindow("Новая учетная запись", new MailBox()) { Owner = this }; if (NewWindow.ShowDialog() == true) { // Проверка, что ящик с таким адресом ещё не существует string newAddress = NewWindow.MyBox.MyAddress.Address; if (!Client.ConsistAddress(newAddress)) { try { Client.MailBoxList.Add(NewWindow.MyBox); // Добавление нового почтового ящика в список MailBox mb = Client.MailBoxList.Last(); // Визуализация добавленного ящика if (mb != null) { ((MyViewControl)DataContext).Title = mb.Name; } ((MyViewControl)DataContext).CurrentBoxNum = mb; // Изменение текущего почтового ящика Client.CurrentMailBox = mb; // Добавление нового ящика в файл MailStorage.SaveNewMailBox(mb); listMailBox.Items.Refresh(); // Очистка списка писем ((MyViewControl)DataContext).SelFolder = null; // Очистка окна просмотра письма ((MyViewControl)DataContext).Message = null; ((MyViewControl)DataContext).OpMessBox = 0; // Загрузить список папок Client.LoadFolderList(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { MessageBox.Show("Учетная запись с адресом " + newAddress + " уже существует"); } } }
// Обработка вызова окна настроек почтового ящика private void SettingButton_Click(object sender, RoutedEventArgs e) { if (Client.CurrentMailBox != null) { // Запуск диалогового окна для ввода настроек почтового ящика CreatBoxWindow NewWindow = new CreatBoxWindow("Настройки учетной записи", Client.CurrentMailBox) { Owner = this }; if (NewWindow.ShowDialog() == true) { try { // Замена текущего ящика на ящик с новыми настройками MailBox newMb = new MailBox(NewWindow.MyBox); Client.MailBoxList[Client.MailBoxList.IndexOf(Client.CurrentMailBox)] = newMb; // Визуализация ящика ((MyViewControl)DataContext).CurrentBoxNum = newMb; Client.CurrentMailBox = newMb; // Сохранение настроек почтового ящика в файл MailStorage.SaveSettings(newMb); listMailBox.Items.Refresh(); // Очистка списка писем ((MyViewControl)DataContext).SelFolder = null; // Очистка окна просмотра письма ((MyViewControl)DataContext).Message = null; ((MyViewControl)DataContext).OpMessBox = 0; // Загрузить список папок Client.LoadFolderList(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } else { MessageBox.Show("Выберите учетную запись"); } }