public async Task <IActionResult> SaveNewProduct(AdminProductNewDish dish) { if (ModelState.IsValid) { List <Produkt> ingredientList; if (HttpContext.Session.GetString("NewIngredients") == null) { string error = "Inga ingridienser kopplade till maträtten. Försök igen"; return(View("SaveProduct", error)); } //Hämta listan från Sessionen var serializedValue = HttpContext.Session.GetString("NewIngredients"); ingredientList = JsonConvert.DeserializeObject <List <Produkt> >(serializedValue); var dishName = dish.NewDish.MatrattNamn; dishName = char.ToUpper(dishName[0]) + dishName.Substring(1); var newProduct = new Matratt() { MatrattNamn = dishName, Beskrivning = dish.NewDish.Beskrivning, MatrattTyp = dish.Type, Pris = dish.NewDish.Pris }; _context.Matratt.Add(newProduct); foreach (var item in ingredientList) { var newConn = new MatrattProdukt() { MatrattId = newProduct.MatrattId, ProduktId = item.ProduktId }; _context.MatrattProdukt.Add(newConn); } _context.SaveChanges(); return(View("SaveProduct", "Ny produkt sparad!")); } return(RedirectToAction("NewProduct")); }
/////////////////////////////////////////////////////////////////////////////////////////// // New Product public IActionResult NewProduct() { HttpContext.Session.Clear(); var types = _context.MatrattTyp.Select(m => new SelectListItem { Value = m.MatrattTyp1.ToString(), Text = m.Beskrivning }).OrderBy(o => o.Text).ToList(); List <Produkt> ingredientList; if (HttpContext.Session.GetString("NewIngredients") == null) { ingredientList = new List <Produkt>(); } else { //Hämta listan från Sessionen var serializedValue = HttpContext.Session.GetString("NewIngredients"); ingredientList = JsonConvert.DeserializeObject <List <Produkt> >(serializedValue); } var temp = JsonConvert.SerializeObject(ingredientList); HttpContext.Session.SetString("NewIngredients", temp); var model = new AdminProductNewDish() { Ingredients = _context.Produkt.ToList(), Types = types, SelectedIngredients = ingredientList }; //if (ingredientList.Count != 0) //{ // PartialView("_IngredientsPartial", ingredientList); //} return(View(model)); }