Exemplo n.º 1
0
 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();
         }
     }
 }
Exemplo n.º 2
0
        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();
            }
        }