/// <summary>
        /// Завершение заказа. Вычитание со склада компонентов, необходимых для создания каждого букета
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void button__Complete_Click(object sender, RoutedEventArgs e)
        {
            // Составляем соотношение букета и его компонентов.
            foreach (var b in lCart_Bouquet)
            {
                Bouquet_Content current_bouquet = new Bouquet_Content();

                current_bouquet.bouquet = b.bouquet;

                current_bouquet.lContent = await oContentsRepository.Select_Contents_Async("select * from contents where bouquets_id = " + b.bouquet.bouquets_id);

                // Вычитаем со склада компоненты для букета.
                foreach (var c in current_bouquet.lContent)
                {
                    if (c.accessories_id != -1)
                    {
                        Accessories result = await conn.GetAsync <Accessories>(c.accessories_id);

                        for (int i = 0; i < b.cart.count; i++)
                        {
                            result.in_stock -= c.count;
                        }

                        await oAccessoriesRepository.Update_Accessories_Async(result);
                    }
                    else
                    {
                        Flowers result = await conn.GetAsync <Flowers>(c.flowers_id);

                        for (int i = 0; i < b.cart.count; i++)
                        {
                            result.in_stock -= c.count;
                        }

                        await oFlowersRepository.Update_Flowers_Async(result);
                    }
                }
            }

            // Добавляем данные о заказе в БД
            Orders order = new Orders(oClient_Card.client.clients_id, DateTime.Now, textbox_Address.Text, oCart_Bouquet.cost, "В обработке");

            await oOrdersRepository.Insert_Orders_Async(order);

            // Добавляем данные о корзине заказа в БД
            foreach (var c in lCart_Bouquet)
            {
                c.cart.orders_id = order.orders_id;

                await oCartsRepository.Insert_Carts_Async(c.cart);
            }

            Clear_Control_All();

            this.Close();

            System.Windows.Forms.MessageBox.Show("Заказ успешно создан!");
        }
        /// <summary>
        /// Обновление listview с букетами. Для каждого букета ставится в соответствие список его кмпонентов. Подсчитывается стоимость букета с учётом скидок Специальных Предложений
        /// </summary>
        /// <returns></returns>
        private async Task Update_ListView_Bouquets(string name)
        {
            List <Bouquet_Content> lBouquet_Content = new List <Bouquet_Content>();

            List <Bouquets> lBouquets = await oBouquetsRepository.Select_All_Bouquets_Async();

            foreach (var b in lBouquets)
            {
                Bouquet_Content bouquet_content = new Bouquet_Content();

                if (b.name.ToLower().Contains(name.ToLower()))
                {
                    bouquet_content.bouquet  = b;
                    bouquet_content.lContent = await oContentsRepository.Select_Contents_Async("select * from contents where bouquets_id = " + b.bouquets_id);

                    bouquet_content.cost = 0;

                    foreach (var c in bouquet_content.lContent)
                    {
                        if (c.accessories_id != -1)
                        {
                            bouquet_content.cost += (double)c.count * conn.GetAsync <Accessories>(c.accessories_id).Result.price;
                        }
                        else
                        {
                            bouquet_content.cost += (double)c.count * conn.GetAsync <Flowers>(c.flowers_id).Result.price;
                        }
                    }

                    bouquet_content.cost += bouquet_content.bouquet.price_extra;

                    // Обработка скидок по спец. предложениям
                    try
                    {
                        SpecialDeals oSpecialDeals = (await oSpecialDealsRepository.Select_SpecialDeals_Async("select * from specialdeals where bouquets_id = " + b.bouquets_id))[0];

                        if (oSpecialDeals != null && oSpecialDeals.datetime >= DateTime.Now)
                        {
                            bouquet_content.cost = bouquet_content.cost * (1 - oSpecialDeals.discount / 100);
                        }
                    }
                    catch
                    {
                    }

                    lBouquet_Content.Add(bouquet_content);
                }
            }

            listview_Bouquets.ItemsSource = lBouquet_Content;
        }
        /// <summary>
        /// Выделение букета в listview Букетов ЛКМ
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listview_Bouquets_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                oBouquet_Content = (Bouquet_Content)listview_Bouquets.SelectedItem;

                numeric_Count.IsEnabled = true;
                numeric_Count.Value     = 1;

                button_Create.IsEnabled = true;
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Букет не выбран!");
            }
        }