コード例 #1
0
        /// <summary>
        /// Выделение букета в listview Корзины ЛКМ
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listview_Carts_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                oCart_Bouquet = (Cart_Bouquet)listview_Carts.SelectedItem;

                button_Delete.IsEnabled = true;
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Букет не выбран!");
            }
        }
コード例 #2
0
        /// <summary>
        /// Добавление букета в корзину. Проверка наличия на складе достаточного количества компонентов перед осуществлением добавления. Проверка наличия в корзине букетов такого же типа.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void button_Create_Click(object sender, RoutedEventArgs e)
        {
            // Создаём букет и корзину и заполняем поля данными.
            Cart_Bouquet cart_bouquet = new Cart_Bouquet();

            cart_bouquet.bouquet = oBouquet_Content.bouquet;

            cart_bouquet.cart = new Carts((decimal)numeric_Count.Value, oBouquet_Content.bouquet.bouquets_id);
            cart_bouquet.cost = oBouquet_Content.cost * (double)cart_bouquet.cart.count;

            // Проверка на наличие записи с букетом в корзине
            bool bouquet_found = false;
            int  bouquet_i     = 0;

            for (int i = 0; i < lCart_Bouquet.Count; i++)
            {
                if (lCart_Bouquet[i].bouquet.bouquets_id == cart_bouquet.bouquet.bouquets_id)
                {
                    bouquet_found = true;
                    bouquet_i     = i;

                    cart_bouquet.cost       += lCart_Bouquet[i].cost;
                    cart_bouquet.cart.count += lCart_Bouquet[i].cart.count;

                    break;
                }
            }

            // Проверяем на достаточное кол-во компонентов для букета на складе.
            bool Components_Enough = true;

            foreach (var c in oBouquet_Content.lContent)
            {
                if (c.accessories_id != -1)
                {
                    Accessories result = await conn.GetAsync <Accessories>(c.accessories_id);

                    if (result.in_stock < (c.count * cart_bouquet.cart.count))
                    {
                        MessageBox.Show("Недостаточно Аксессуаров \"" + result.name + "\" на складе для составления данного букета!");

                        Components_Enough = false;

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

                    if (result.in_stock < (c.count * cart_bouquet.cart.count))
                    {
                        MessageBox.Show("Недостаточно Цветов \"" + result.name + "\" на складе для составления данного букета!");

                        Components_Enough = false;

                        break;
                    }
                }
            }

            // Если компонентов достаточно
            if (Components_Enough)
            {
                if (bouquet_found)
                {
                    lCart_Bouquet[bouquet_i] = cart_bouquet;
                }
                else
                {
                    lCart_Bouquet.Add(cart_bouquet);
                }

                Update_ListView_Carts();

                Clear_Control();

                button__Complete.IsEnabled = true;
            }
        }