public IActionResult Add_Food_Item(AddFoodItemBindingModel model) { if (this.ModelState.IsValid) { this.contentService.AddFoodItem(model); return(RedirectToAction("ContentMenu")); } var reloadModel = this.menuService.GetMenuItems(this.GetType(), typeof(HttpGetAttribute), typeof(AuthorizeAttribute), AreaName, "Add_Food_Item", model); return(View("ContentMenu", reloadModel)); }
public FoodItem AddFoodItem(AddFoodItemBindingModel model) { var foodItemMacroElements = new List <FoodItemMacroElement>(); var foodItemMicroElements = new List <FoodItemMicroElement>(); foreach (var macroElement in model.MacroElements) { var foodItemMacroElement = new FoodItemMacroElement { AmountInGrams = macroElement.AmountInGramsPer100Grams, MacroElement = this.context.MacroElements.FirstOrDefault(me => me.Name == macroElement.Name) }; foodItemMacroElements.Add(foodItemMacroElement); } foreach (var microElement in model.MicroElements.Where(mi => mi.AmountInMilligramsPer100Grams > 0)) { var foodItemMicroElement = new FoodItemMicroElement { AmountInMilligrams = microElement.AmountInMilligramsPer100Grams, MicroElement = this.context.MicroElements.FirstOrDefault(me => me.Name == microElement.Name) }; foodItemMicroElements.Add(foodItemMicroElement); } var foodItem = new FoodItem { Name = model.Name, Description = model.Description, FoodItemMacroElements = foodItemMacroElements, FoodItemMicroElements = foodItemMicroElements }; this.context.FoodItems.Add(foodItem); this.context.SaveChanges(); if (model.Image != null) { var foodItemId = this.context.FoodItems.First(fi => fi.Name == model.Name).Id; var imageLocation = this.imagesService.CreateImage(model.Image, this.GetType().Name.Replace("Service", string.Empty), foodItemId); this.context.FoodItems.First(fi => fi.Id == foodItemId).ImageLocation = imageLocation; foodItem.ImageLocation = imageLocation; context.SaveChanges(); } return(foodItem); }