private void Button_Click_2(object sender, RoutedEventArgs e)   // Кнопка "Добавить товар"
        {
            try
            {
                int i_id    = Convert.ToInt32(item_id.Text); // Считываем id товара и его количество
                int i_count = Convert.ToInt32(item_count.Text);

                if (i_id > 0 && i_count > 0) // Если поля заполнены корректно
                {
                    using (ADOmodel db = new ADOmodel(conString))
                    {
                        bool ItemExist = db.Items.Any(i => i.id_Item == i_id);  // Если товар существует
                        if (ItemExist)
                        {
                            discount = db.Loyality_card.Where(lc => lc.id_Loyality_card == client.id_Loyality_card).Select(lc => lc.Loyality_discount).FirstOrDefault(); // Считываем скидку

                            Item_list new_item = new Item_list()
                            {
                                id_Order = or_id, id_Item = i_id, Quantity = i_count
                            };                                                                                                          // Создаем новый товар
                            new_order_list.Add(new_item);                                                                               // И заносим его в список для БД

                            string    i_name  = db.Items.Where(i => i.id_Item == i_id).Select(i => i.Name).FirstOrDefault().ToString(); // Запоминаем имя товара
                            int       i_price = (int)db.Items.Where(i => i.id_Item == i_id).Select(i => i.Price).FirstOrDefault();      // И его стоимость
                            PrintList pr_item = new PrintList()
                            {
                                id = i_id, ItemName = i_name, Quantity = i_count, CostTotal = i_price * i_count, CostOne = i_price
                            };                                                                                                                                          // Заносим данные в список для вывода
                            list_for_print.Add(pr_item);

                            total_cost      += pr_item.CostTotal; // Расчет стоимости
                            costWithDiscount = total_cost - (total_cost / 100 * discount);

                            order_cost.Content         = total_cost + " руб."; // Вывод стоимости
                            order_discountCost.Content = costWithDiscount + " руб.";
                        }
                        else
                        {
                            MessageBox.Show("Товар не найден!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Корректно заполните поля 'id Товара' и 'Кол-во'!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Корректно заполните поля 'id Товара' и 'Кол-во'!", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        private void createOrder_btn_Click(object sender, RoutedEventArgs e)              // Кнопка оформления заказа
        {
            bool canSend = true;                                                          // Переменная для контроля корректности заполнения данных

            if (empl_position.SelectedItem == null || empl_fullName.SelectedItem == null) // Проверки на правильную заполненность полей
            {
                MessageBox.Show("Выберите сотрудника!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning);
                canSend = false;
            }
            if (new_order_list.Count() == 0 || list_for_print.Count() == 0)
            {
                MessageBox.Show("Нельзя оформить пустой заказ!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning);
                canSend = false;
            }
            if (new_order_list.Count() != list_for_print.Count())
            {
                MessageBox.Show("Ошибка в формировании списков заказа!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning);
                canSend = false;
            }
            if (item_certificate.Text == "")
            {
                MessageBox.Show("Поле 'Номинал' блока 'Сертификат' должно содержать значение!\n(0, 5000, 30000, 50000)", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning);
                canSend = false;
            }
            if (delivery_cb.IsChecked == true && delivery_type.IsEnabled == true && delivery_select_btn.IsEnabled == true)
            {
                MessageBox.Show("Подтвердите тип доставки!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Warning);
                canSend = false;
            }

            if (canSend)     // Если все заполнено корректно, то начинаем отправлять данные в БД
            {
                using (ADOmodel db = new ADOmodel(conString))
                {
                    int id_cert  = 0;                                // Идентификатор нового сертификата
                    int id_deliv = 0;                                // Идентификатор новой доставки

                    if (Convert.ToInt32(item_certificate.Text) != 0) // Если был применен сертификат, то создаем запись о сертификате
                    {
                        id_cert = db.Certificates.Select(c => c.id_Certificate).Max() + 1;
                        int         certificateValue = Convert.ToInt32(item_certificate.Text);
                        Certificate new_certificate  = new Certificate()
                        {
                            id_Certificate = id_cert, Value = certificateValue
                        };
                        db.Certificates.Add(new_certificate);
                        db.SaveChanges();
                    }

                    if (delivery_cb.IsChecked == true)   // Если была выбрана доставка, то создаем запись по доставке
                    {
                        id_deliv = db.Deliveries.Select(d => d.id_Delivery).Max() + 1;
                        Delivery new_delivery = new Delivery()
                        {
                            id_Delivery = id_deliv, id_Type = devType_id, Cost = devCost
                        };
                        db.Deliveries.Add(new_delivery);
                        db.SaveChanges();
                    }

                    if (delivery_cb.IsChecked == false && devCost > 0 && delivery_select_btn.IsEnabled == false) // Если доставка была сначала выбрана и применена, но потом чекбокс доставки был снят
                    {
                        total_cost      -= devCost;                                                              // Убираем из стоимости заказа доставку
                        costWithDiscount = total_cost - (total_cost / 100 * discount);                           // И пересчитываем стоимость заказа с учетом КЛ
                    }

                    Orders new_order;

                    if (id_cert != 0 && id_deliv != 0)  // Формирование заказа с сертификатом и доставкой
                    {
                        new_order = new Orders()
                        {
                            id_Order       = or_id,
                            id_Client      = cl_id,
                            id_Employee    = em_id,
                            Date           = DateTime.Now,
                            Order_cost     = (decimal)costWithDiscount,
                            Discount       = discount,
                            id_Certificate = id_cert,
                            id_Delivery    = id_deliv
                        };
                        db.Orders.Add(new_order);
                    }
                    else if (id_cert == 0 && id_deliv != 0) // Формирование заказа без сертификата, но с доставкой
                    {
                        new_order = new Orders()
                        {
                            id_Order    = or_id,
                            id_Client   = cl_id,
                            id_Employee = em_id,
                            Date        = DateTime.Now,
                            Order_cost  = (decimal)costWithDiscount,
                            Discount    = discount,
                            id_Delivery = id_deliv
                        };
                        db.Orders.Add(new_order);
                    }
                    else if (id_cert != 0 && id_deliv == 0)  // Формирование заказа с сертификатом, но без доставки
                    {
                        new_order = new Orders()
                        {
                            id_Order       = or_id,
                            id_Client      = cl_id,
                            id_Employee    = em_id,
                            Date           = DateTime.Now,
                            Order_cost     = (decimal)costWithDiscount,
                            Discount       = discount,
                            id_Certificate = id_cert,
                        };
                        db.Orders.Add(new_order);
                    }
                    else // Формирование заказа без сертификата и без доставки
                    {
                        new_order = new Orders()
                        {
                            id_Order    = or_id,
                            id_Client   = cl_id,
                            id_Employee = em_id,
                            Date        = DateTime.Now,
                            Order_cost  = (decimal)costWithDiscount,
                            Discount    = discount,
                        };
                        db.Orders.Add(new_order);
                    }

                    foreach (var item in new_order_list) // Добавление товаров заказа в таблицу Item_list
                    {
                        int       il_id    = item.id_Item;
                        int       il_quant = item.Quantity;
                        Item_list il       = new Item_list()
                        {
                            id_Order = or_id,
                            id_Item  = il_id,
                            Quantity = il_quant
                        };
                        db.Item_list.Add(il);
                    }

                    db.SaveChanges();
                    MessageBox.Show("Заказ успешно добавлен!", "Оформление заказа", MessageBoxButton.OK, MessageBoxImage.Information);
                    this.Close();
                }
            }
        }