private void Edit_Client(object sender, RoutedEventArgs e) { if ((sender as Button)?.DataContext is Account account) { var viewWindow = new ViewWindow(JsonConvert.DeserializeObject <Account>(JsonConvert.SerializeObject(account))); viewWindow.Owner = Application.Current.MainWindow; if (viewWindow.ShowDialog() == true) { var accounts = (lvAccounts.ItemsSource as ObservableCollection <Account>); var index = accounts.IndexOf(account); if (index >= 0) { if (string.IsNullOrEmpty(viewWindow.SurnameTextBox.Text) || string.IsNullOrEmpty(viewWindow.NameTextBox.Text) || string.IsNullOrEmpty(viewWindow.MiddleNameTextBox.Text)) { MessageBox.Show("Заполните ФИО", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (string.IsNullOrEmpty(viewWindow.BirthdayTextBox.Text) || !Regex.IsMatch(viewWindow.BirthdayTextBox.Text, @"^\d{2,4}-\d{1,2}-\d{1,2}")) { MessageBox.Show("Заполните правильно дату рождения", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (string.IsNullOrEmpty(viewWindow.CountryTextBox.Text) || string.IsNullOrEmpty(viewWindow.RegionTextBox.Text) || string.IsNullOrEmpty(viewWindow.CityTextBox.Text) || string.IsNullOrEmpty(viewWindow.AddressTextBox.Text)) { MessageBox.Show("Заполните страну, область, город, адрес проживания", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (string.IsNullOrEmpty(viewWindow.EmailTextBox.Text) || !Regex.IsMatch(viewWindow.EmailTextBox.Text, @"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$")) { MessageBox.Show("Заполните правильно эл.почту", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (string.IsNullOrEmpty(viewWindow.PhoneTextBox.Text)) { MessageBox.Show("Заполните основной номер телефона", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (string.IsNullOrEmpty(viewWindow.AsFoundTextBox.Text)) { MessageBox.Show("Заполните откуда клиент узнал о нас", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } Data.UpdateAccount(viewWindow.Account); accounts.Remove(account); accounts.Add(viewWindow.Account); MessageBox.Show("Аккаунт был успешно изменен!", "Successfully", MessageBoxButton.OK, MessageBoxImage.Information); } } } }
public void ViewExecuted(object param) { try { ViewWindow viewWindow = new ViewWindow(); viewWindow.DataContext = this.RvtSheetData; if ((bool)viewWindow.ShowDialog()) { RefreshSelectedSheet(); } } catch (Exception ex) { MessageBox.Show("Failed to open view items.\n" + ex.Message, "Open View Info", MessageBoxButton.OK, MessageBoxImage.Warning); } }