private void OnCLickAddNewCat(object sender, RoutedEventArgs e) { try { if (IDSource == 2) { CATEGORY_INGREDIENT ci = new CATEGORY_INGREDIENT(); if (!string.IsNullOrEmpty(tb_nameCat.Text)) { ci.category_ingredient_title = tb_nameCat.Text.ToString(); db.CATEGORY_INGREDIENT.Add(ci); db.SaveChanges(); } } if (IDSource == 1) { CATEGORY c = new CATEGORY(); if (!string.IsNullOrEmpty(tb_nameCat.Text)) { c.category_title = tb_nameCat.Text.ToString(); c.category_description = ""; c.category_button_color = "#9b59b6"; db.CATEGORY.Add(c); db.SaveChanges(); } } } catch (Exception ex) { } }
// Cette méthode est appelée lorsque l'utilisateur souhaite ajouter un article dans le panier public ItemOption(ITEM item, List <CATEGORY_INGREDIENT> catIng) { InitializeComponent(); db = new ModelCezar(); cvm.IngredientCounter = 0; /* * catIng : la liste des catégories d'ingrédients liées à l'article * item : l'article selectionné * catIngLocalCount : le nombre total des catégories d'ingrédients liées à l'article * counter : compteur */ itemLocal = item; catIngLocal = catIng; catIngLocalCount = catIng.Count; counter = 0; if (catIng.Count <= 1) { bt_NextOption.Visibility = Visibility.Collapsed; } bt_BackOption.Visibility = Visibility.Collapsed; CATEGORY_INGREDIENT ci = new CATEGORY_INGREDIENT(); ci = catIng[counter]; int id = catIng[counter].id_category_ingredient; //.Where(i => i.id_category_ingredient == id) var optionQuery = (from ing in db.INGREDIENT join ingCat in db.CATEGORY_INGREDIENT on ing.id_category_ingredient equals ingCat.id_category_ingredient select new ItemIngredient() { IdItem = item.id_item, IdIngredient = ing.id_ingredient, Item_title = item.item_title, Ingredient_title = ing.ingredient_title, Ingredient_category_id = ingCat.id_category_ingredient, Ingredient_category_tutle = ingCat.category_ingredient_title, Ingredient_price = (double)ing.ingredient_price, Ingredient_quantity = 0 }); listIngredient = new ObservableCollection <ItemIngredient>(optionQuery.ToList()); //Affiche la première liste des ingrédients icItem.ItemsSource = listIngredient.Where(i => i.Ingredient_category_id == id); }
private void OnClickAffect(object sender, RoutedEventArgs e) { int count = 0; // var idCat = ((ItemsCategoryModel)lv_ingredientCategoryList.SelectedItem).Id; var idCatList = (lv_ingredientCategoryList.SelectedItems); count = idCatList.Count; using (var db = new ModelCezar()) { try { ITEM item = new ITEM { id_item = IdItem }; db.ITEM.Add(item); db.ITEM.Attach(item); for (int i = 0; i < count; i++) { var result = (ItemsCategoryModel)idCatList[i]; CATEGORY_INGREDIENT catIng = new CATEGORY_INGREDIENT { id_category_ingredient = result.Id }; db.CATEGORY_INGREDIENT.Add(catIng); db.CATEGORY_INGREDIENT.Attach(catIng); item.CATEGORY_INGREDIENT.Add(catIng); db.SaveChanges(); rvm.Result = true; rvm.Resultmessage = "Validé"; } } catch (Exception ex) { rvm.Resultmessage = "Erreur " + ex.InnerException; rvm.Result = false; } } }
// Cette méthode est appelée lorsque l'utilisateur veut modifier un article ajouter dans le panier public ItemOption(Cart list, int idItem, int index, List <CATEGORY_INGREDIENT> catIng, ObservableCollection <ItemIngredient> ingredients) { InitializeComponent(); counter = 0; if (index > -1) { indexLocal = index; db = new ModelCezar(); _cart = list; lst = list.SelectedIngredients; if (catIng.Count <= 1) { bt_NextOption.Visibility = Visibility.Collapsed; } bt_BackOption.Visibility = Visibility.Collapsed; itemLocal.id_item = list.ItemId; itemLocal.item_price = (decimal)list.ItemPriceWithoutSupp; itemLocal.item_title = list.ItemTitle; itemLocal.cooked = list.Cooked; catIngLocalCount = catIng.Count; catIngLocal = catIng; CATEGORY_INGREDIENT ci = new CATEGORY_INGREDIENT(); ci = catIng[counter]; int id = catIng[counter].id_category_ingredient; var optionQuery = (from ing in db.INGREDIENT join ingCat in db.CATEGORY_INGREDIENT on ing.id_category_ingredient equals ingCat.id_category_ingredient select new ItemIngredient() { IdItem = idItem, IdIngredient = ing.id_ingredient, Ingredient_category_tutle = ingCat.category_ingredient_title, Item_title = list.ItemTitle, Ingredient_category_id = ingCat.id_category_ingredient, Ingredient_title = ing.ingredient_title, Ingredient_price = (double)ing.ingredient_price, Ingredient_quantity = 0 }); listIngredient = new ObservableCollection <ItemIngredient>(optionQuery.ToList()); icItem.ItemsSource = listIngredient.Where(i => i.Ingredient_category_id == id); ItemIngredient ingrr = new ItemIngredient(); for (int i = 0; i < listIngredient.Count; i++) { ingrr = listIngredient[i] as ItemIngredient; foreach (var itm in ingredients) { if (ingrr.IdIngredient == itm.IdIngredient) { itemIngredientLocal.Add(new ItemIngredient() { IdItem = itm.IdItem, IdIngredient = itm.IdIngredient, Item_title = itm.Item_title, Ingredient_title = itm.Ingredient_title, Ingredient_price = itm.Ingredient_category_id == 3 ? ingrr.Ingredient_price : 0, Ingredient_quantity = itm.Ingredient_quantity }); ingrr.Ingredient_quantity = itm.Ingredient_quantity; break; } } } #region COMMENT //var reqForMeat = (from ing in db.INGREDIENT.Where(i => i.ITEM.Any() && i.id_category_ingredient == 1) // from itm in db.ITEM.Where(it => it.INGREDIENT.Contains(ing) && it.id_item == idItem) // select new ItemIngredient() // { // IdItem = itm.id_item, // IdIngredient = ing.id_ingredient, // Item_title = itm.item_title, // Ingredient_title = ing.ingredient_title, // Ingredient_quantity = 0 // }); // var reqForMeat = (from ing in db.INGREDIENT.Where(i => i.ITEM.Any() && i.id_category_ingredient == 1) // from itm in db.ITEM.Where(it => it.INGREDIENT.Contains(ing) && it.id_item == idItem) // select new ItemIngredient() // { // IdItem = itm.id_item, // IdIngredient = ing.id_ingredient, // Item_title = itm.item_title, // Ingredient_title = ing.ingredient_title, // Ingredient_quantity = 0 // } //); // tb_optionTitle.Text = "Options " + itemLocal.item_title; // var reqForSauce = (from ing in db.INGREDIENT.Where(i => i.ITEM.Any() && i.id_category_ingredient == 2) // from itm in db.ITEM.Where(it => it.INGREDIENT.Contains(ing) && it.id_item == idItem) // select new ItemIngredient() // { // IdItem = itm.id_item, // IdIngredient = ing.id_ingredient, // Item_title = itm.item_title, // Ingredient_title = ing.ingredient_title, // Ingredient_quantity = 0 // } //); // var reqForSupp = (from ing in db.INGREDIENT.Where(i => i.ITEM.Any() && i.id_category_ingredient == 3) // from itm in db.ITEM.Where(it => it.INGREDIENT.Contains(ing) && it.id_item == idItem) // select new ItemIngredient() // { // IdItem = itm.id_item, // IdIngredient = ing.id_ingredient, // Item_title = itm.item_title, // Ingredient_title = ing.ingredient_title, // Ingredient_price = (double)ing.ingredient_price, // Ingredient_quantity = 0 // } //); // lb_choixViande.ItemsSource = new ObservableCollection<ItemIngredient>(reqForMeat.ToList()); // lb_choixSauce.ItemsSource = new ObservableCollection<ItemIngredient>(reqForSauce.ToList()); // lb_choixSupp.ItemsSource = new ObservableCollection<ItemIngredient>(reqForSupp.ToList()); #endregion } // lb_choixViande.SelectedIndex = lb_choixViande.Items.IndexOf(lst[0].Ingredient_title) }