/// <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("Букет не выбран!"); } }
/// <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; } }