private void AddButtonClick(object sender, RoutedEventArgs e) { AddItemsWindow addItemsWindow = new AddItemsWindow(); addItemsWindow.ShowDialog(); using (var db = new Model.BudgetModel()) { var source = new Source(); if (string.IsNullOrWhiteSpace(addItemsWindow.Value)) MessageBox.Show("Введите название"); else { source.Name = addItemsWindow.Value; db.Sources.Add(source); db.SaveChanges(); UpdateListBox(); } } }
private void sourceAddButtonClick(object sender, EventArgs e) { AddItemForm addItemForm = new AddItemForm(); if(addItemForm.ShowDialog(this) == DialogResult.OK) { using (var db = new Model.BudgetModel()) { var source = new Source(); if (string.IsNullOrWhiteSpace(addItemForm.Value)) MessageBox.Show("Введите название"); else { source.Name = addItemForm.Value; db.Sources.Add(source); try { db.SaveChanges(); } catch (DbUpdateException ex) { var sqlErrors = ex?.InnerException?.InnerException as SqlException; // 2601 - cannot insert duplicate key. if (sqlErrors.Number == 2601) { MessageBox.Show("Такое название уже существует."); } else { MessageBox.Show(ex.Message); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } } UpdateListBox(); } }