コード例 #1
0
        /// <summary>
        /// Checks user input and adds product to the database
        /// </summary>
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(productName) || string.IsNullOrWhiteSpace(strProductAmount))
                {
                    throw new EmptyFieldException();
                }
                if (!GetProductAmount())
                {
                    throw new WrongDataFieldException();
                }
                if (productAmount == 0)
                {
                    throw new WrongDataFieldException();
                }

                if (!productDB.CheckProductName(productName))
                {
                    MessageBoxResult result = MessageBox.Show("Продукция с таким наименованием уже существует.\n" +
                                                              "Хотите изменить добавить к количеству у существущего?", "Подтверждение", MessageBoxButton.YesNo);
                    if (result == MessageBoxResult.Yes)
                    {
                        if (productDB.ChangeProductAmount(productName, productAmount))
                        {
                            MessageBox.Show("Продукция успешно добавлена", "Выполнено");
                            this.DialogResult = true;
                        }
                    }
                }
                else
                {
                    if (productDB.AddProduct(productName, productAmount))
                    {
                        MessageBox.Show("Продукция успешно добавлена", "Выполнено");
                        this.DialogResult = true;
                    }
                    else
                    {
                        MessageBox.Show("Неопознанная ошибка добавления продукции", "Ошибка");
                        this.DialogResult = true;
                    }
                }
            }
            catch (WrongDataFieldException exception)
            {
                MessageBox.Show(exception.ErrorMessage, exception.Error);
                ProductAmountTextBox.Clear();
            }
            catch (EmptyFieldException exception)
            {
                MessageBox.Show(exception.ErrorMessage, exception.Error);
            }
        }