public async Task <IActionResult> AlterPizza(int id) { Matratt maträtt = await dbContext.Matratt .Include(m => m.MatrattProdukt).ThenInclude(mp => mp.Produkt) .SingleOrDefaultAsync(m => m.MatrattId == id); if (maträtt == null) { return(RedirectToAction("Index")); } ViewData["Title"] = "Ändra " + maträtt.MatrattNamn; ViewData["Legend"] = "Ändra på " + maträtt.MatrattNamn; // Convert to viewmodel var model = new ViewMatrattModel { MatrattId = maträtt.MatrattId, Beskrivning = maträtt.Beskrivning, MatrattNamn = maträtt.MatrattNamn, MatrattTyp = maträtt.MatrattTyp, Pris = maträtt.Pris, }; await FillMatrattModelAsync(model, maträtt.MatrattProdukt.Select(mp => mp.ProduktId) .ToList()); return(View("CreatePizza", model)); }
public IActionResult AddDish(int ID) { List <Matratt> dishList; Matratt SelectedDish = _context.Matratt.ToList().SingleOrDefault(p => p.MatrattId == ID); if (HttpContext.Session.GetString("selectedDishes") == null) { dishList = new List <Matratt>(); } else { var temp = HttpContext.Session.GetString("selectedDishes"); dishList = JsonConvert.DeserializeObject <List <Matratt> >(temp); } dishList.Add(SelectedDish); var dishes = JsonConvert.SerializeObject(dishList); HttpContext.Session.SetString("selectedDishes", dishes); return(RedirectToAction("OrderingDishes")); }
public IActionResult CreateFood(CreateFoodViewModel model) { var food = new Matratt() { MatrattNamn = model.Food.MatrattNamn, MatrattTyp = model.Food.MatrattTyp, Beskrivning = model.Food.Beskrivning, Pris = model.Food.Pris }; _context.Matratts.Add(food); _context.SaveChanges(); foreach (var ingredient in model.IngredientsChecked) { var foodIngredient = new MatrattProdukt() { MatrattId = food.MatrattId, ProduktId = ingredient }; _context.MatrattProdukts.Add(foodIngredient); } _context.SaveChanges(); return(View("CreateFoodConfirmation")); }
public async Task <bool> AddNewDishAsync(Matratt dish) { _context.Matratt.Add(dish); var result = await _context.SaveChangesAsync(); return(result >= 1); }
public void Add(Matratt dish, List <Produkt> ingredients) { _context.Matratt.Add(dish); _context.SaveChanges(); AddDishIngredients(dish, ingredients); }
private void AddAttributesToDish(DishViewModel model, Matratt dish) { dish.MatrattNamn = model.Name; foreach (var ingredient in model.Ingredients) { var dishIngredient = _context.MatrattProdukt. SingleOrDefault(p => p.ProduktId == ingredient.ProduktId && p.MatrattId == model.Id); if (dishIngredient == null) { dish.MatrattProdukt.Add(new MatrattProdukt { MatrattId = dish.MatrattId, ProduktId = ingredient.ProduktId }); } else { dish.MatrattProdukt.Add(dishIngredient); } } dish.MatrattTyp = model.Type; dish.Pris = model.Price; dish.Beskrivning = model.Description; }
public IActionResult EditOrAddProduct(Matratt product) { if (_productRepository.CheckUniqueValue(product.MatrattNamn, product.MatrattId) == false) { ModelState.AddModelError("MatrattNamn", "Name must be unique"); } if (ModelState.IsValid) { _productRepository.SaveProduct(product); var ingredientList = GetIngredientList(product.MatrattId); _productRepository.SaveIngredientList(product.MatrattId, ingredientList); HttpContext.Session.Clear(); return(RedirectToAction("Index")); } var model = new AdminEditViewModel() { Product = product, ProductTypes = _productRepository.GetProductTypes(), OptionalIngredientsList = _productRepository.GetAllIngredients(), IngredientList = GetIngredientList(0) }; return(View(model)); }
public IActionResult AddMenuitem(AddItemViewModel newitem) { if (ModelState.IsValid) { var newMatratt = new Matratt() { MatrattNamn = newitem.MatrattNamn, MatrattTyp = newitem.MatrattTyp, Pris = newitem.Pris, Beskrivning = newitem.Beskrivning }; _tomasos.Add(newMatratt); foreach (var item in newitem.ValdaIdn) { _tomasos.Add( new MatrattProdukt() { MatrattId = newMatratt.MatrattId, ProduktId = item }); } _tomasos.SaveChanges(); } else { return(View()); } return(RedirectToAction("StartPage", "Home")); }
public IActionResult AddProductToCart(int id) { List <Matratt> cart; if (HttpContext.Session.GetString("ProductCart") == null) { cart = new List <Matratt>(); } else { string jsonCart = HttpContext.Session.GetString("ProductCart"); cart = JsonConvert.DeserializeObject <List <Matratt> >(jsonCart); } Matratt newProduct = _context.Matratts.SingleOrDefault(p => p.MatrattId == id); cart.Add(newProduct); string cartToJson = JsonConvert.SerializeObject(cart); HttpContext.Session.SetString("ProductCart", cartToJson); return(RedirectToAction("Menu")); }
public void UpdateIngrediensesInDish(Matratt model) { using (TomasosContext db = new TomasosContext()) { db.Matratt.Update(model).Context.SaveChanges(); } }
public IActionResult AddProduct(int id) { List <Matratt> foodcart; string jsonCart; if (HttpContext.Session.GetString("cart") == null) { //Ny tom varukorg foodcart = new List <Matratt>(); } else { //Hämta de som finns i varukorgen jsonCart = HttpContext.Session.GetString("cart"); //Konvertera dvs göra om till en lista med produkter. Jämför med JSON.parse men med .NET-kod istället foodcart = JsonConvert.DeserializeObject <List <Matratt> >(jsonCart); } Matratt food = _context.Matratts.SingleOrDefault(m => m.MatrattId == id); foodcart.Add(food); //Gör om vår produkt-lista till JSON. Jämför med JSON.stringify men med .NET-kod istället jsonCart = JsonConvert.SerializeObject(foodcart); //Lägg tillbaka den uppdaterade listan i sessionsvariabeln HttpContext.Session.SetString("cart", jsonCart); //Skicka vidare till översikten return(PartialView("_CartOverviewPartial", foodcart)); }
public void Create(Matratt dish) { using (TomasosContext db = new TomasosContext()) { db.Matratt.Add(dish).Context.SaveChanges(); } }
public void CreateNewDish(Matratt dish, List <Produkt> ingredients) { if (dish != null && ingredients != null) { _dishRepository.Add(dish, ingredients); } }
public IActionResult RemoveProduct(int id) { List <Matratt> foodcart; string jsonCart; if (HttpContext.Session.GetString("cart") == null) { //Ny tom varukorg foodcart = new List <Matratt>(); } else { //Hämta de som finns i varukorgen jsonCart = HttpContext.Session.GetString("cart"); //Konvertera dvs göra om till en lista med produkter. Jämför med JSON.parse men med .NET-kod istället foodcart = JsonConvert.DeserializeObject <List <Matratt> >(jsonCart); } Matratt foodToRemove = foodcart.Where(f => f.MatrattId == id).First(); foodcart.Remove(foodToRemove); //Gör om vår produkt-lista till JSON. Jämför med JSON.stringify men med .NET-kod istället jsonCart = JsonConvert.SerializeObject(foodcart); //Lägg tillbaka den uppdaterade listan i sessionsvariabeln HttpContext.Session.SetString("cart", jsonCart); return(RedirectToAction("UserCheckout")); }
public void SaveIngrediensesToDish(Matratt dish) { using (TomasosContext db = new TomasosContext()) { _context.Matratt.Update(dish).Context.SaveChanges(); } }
private DishModificationModel CreateViewModel(Matratt d, List <MatrattTyp> categories, List <Produkt> products) { var dishVM = new DishModificationModel { Id = d.MatrattId, Name = d.MatrattNamn, Description = d.Beskrivning, SelectedCategoryId = d.MatrattTyp, SelectedCategory = d.MatrattTypNavigation?.Beskrivning, Price = d.Pris, Categories = categories.Select(c => new SelectListItem { Value = c.MatrattTyp1.ToString(), Text = c.Beskrivning, Selected = d.MatrattTyp == c.MatrattTyp1 }).ToList(), Products = products.Select(p => new SelectListItem { Value = p.ProduktId.ToString(), Text = p.ProduktNamn, Selected = d.MatrattProdukt.Any(dp => dp.ProduktId == p.ProduktId) }).ToList() }; return(dishVM); }
public async Task <bool> UpdateDishAsync(Matratt dish) { _context.Entry(dish).State = EntityState.Modified; var result = await _context.SaveChangesAsync(); return(result == 1); }
public async Task <IActionResult> DeleteProductCheck(int productId) { List <MatrattProdukt> check = _repository.SelectMatrattProdukt(productId); if (check.Count == 0) { return(RedirectToAction("Deleteproduct", new { productId = productId })); } else { List <Matratt> matrattToDelete = new List <Matratt>(); for (var i = 0; i < check.Count; i++) { Matratt matratt = await _repository.SelectById <Matratt>(check[i].MatrattId); matrattToDelete.Add(matratt); } AddProductViewModel model = new AddProductViewModel(await _repository.SelectAll <Produkt>()); model.ProductToDelete = await _repository.SelectById <Produkt>(productId); model.CheckOnDelete = matrattToDelete; return(View("Products", model)); } }
public async Task <Matratt> ConvertDishToMatrattAsync(Dish dish, Matratt matratt) { matratt.MatrattNamn = dish.Name; matratt.Beskrivning = dish.Description; matratt.MatrattTyp = int.Parse(dish.DishType); matratt.Pris = dish.Price; var ingredients = dish.IngredientsString.Split(","); matratt.MatrattProdukt.Clear(); foreach (var ingredient in ingredients) { var produkt = await _dbService.GetIngredientFromNameAsync(ingredient.Trim()); var matrattProdukt = new MatrattProdukt { Matratt = matratt, MatrattId = matratt.MatrattId, Produkt = produkt, ProduktId = produkt.ProduktId }; matratt.MatrattProdukt.Add(matrattProdukt); } return(matratt); }
public void UpdateOnlymatratt(Matratt dish) { using (TomasosContext db = new TomasosContext()) { db.Matratt.Update(dish); db.SaveChanges(); } }
public void Update(Matratt model) { using (TomasosContext db = new TomasosContext()) { db.Matratt.Update(model); db.MatrattProdukt.AddRange(model.MatrattProdukt.ToList()); db.SaveChanges(); } }
public void Update(Matratt updatedDish) { var currentDish = _context.Matratt.FirstOrDefault(x => x.MatrattId == updatedDish.MatrattId); if (updatedDish != null) { _context.Entry(currentDish).CurrentValues.SetValues(updatedDish); _context.SaveChanges(); } }
public async Task <bool> CreateDishAsync(Dish dish) { var matratt = new Matratt(); matratt = await ConvertDishToMatrattAsync(dish, matratt); var result = await _dbService.AddNewDishAsync(matratt); return(result); }
public Matratt GetMatratterToCustomerbasket(int id) { var model = new Matratt(); using (TomasosContext db = new TomasosContext()) { model = db.Matratt.FirstOrDefault(r => r.MatrattId == id); } return(model); }
public CheckOutViewModel() { Order = new Bestallning(); Dishes = new List <Matratt>(); TotalPrice = 0; QuantityBouns = false; PointBouns = false; LowestCostDish = new Matratt(); User = new AspNetUser(); }
private void RemoveAllIngredientsFromDish(Matratt dish) { var toDelete = _context.MatrattProdukts.Where(x => x.MatrattId == dish.MatrattId).ToList(); foreach (var item in toDelete) { _context.MatrattProdukts.Remove(item); _context.SaveChanges(); } }
public MenuPage() { matratt = new Matratt(); mattratttyp = new MatrattTyp(); mattratttyper = new List <MatrattTyp>(); MattrattProdukt = new List <MatrattProdukt>(); Matratter = new List <Matratt>(); Matratteradded = new List <Matratt>(); Ingredins = new Produkt(); Ingredienses = new List <Produkt>(); }
private string HamtaIngridienser(Matratt matratt) { string ProduktString = ""; foreach (var item in matratt.MatrattProdukts) { var produkt = _context.Produkts.SingleOrDefault(x => x.ProduktId == item.ProduktId); ProduktString += produkt.ProduktNamn + ","; } return ProduktString; }
private string GetIngredients(Matratt dish) { string result = ""; foreach (var item in dish.MatrattProdukts) { var produkt = _context.Produkts.SingleOrDefault(x => x.ProduktId == item.ProduktId); result += produkt.ProduktNamn + ", "; } return(result); }
public async Task AddToCart(int dishId) { Matratt dish = await _repository.SelectById <Matratt>(dishId); Bestallning currentOrder = _repository.GetUserOrder(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); if (currentOrder == null) { Bestallning order = new Bestallning(); order.BestallningDatum = DateTime.Now; order.Totalbelopp = dish.Pris; order.Levererad = false; order.KundId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); await _repository.CreateAsync <Bestallning>(order); Bestallning orderId = _repository.GetUserOrder(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); BestallningMatratt orderDish = new BestallningMatratt(); orderDish.MatrattId = dish.MatrattId; orderDish.BestallningId = orderId.BestallningId; await _repository.CreateAsync <BestallningMatratt>(orderDish); } else { BestallningMatratt duplicateCheck = _repository.CheckForDishDuplicate(currentOrder.BestallningId, dish.MatrattId); if (duplicateCheck == null) { BestallningMatratt orderDish = new BestallningMatratt(); orderDish.MatrattId = dish.MatrattId; orderDish.BestallningId = currentOrder.BestallningId; await _repository.CreateAsync <BestallningMatratt>(orderDish); } else { BestallningMatratt addTotalForDish = duplicateCheck; int currentTotal = addTotalForDish.Antal; currentTotal += 1; addTotalForDish.Antal = currentTotal; await _repository.UpdateAsync <BestallningMatratt>(addTotalForDish); } int totalPrice = currentOrder.Totalbelopp; totalPrice += dish.Pris; currentOrder.Totalbelopp = totalPrice; await _repository.UpdateAsync <Bestallning>(currentOrder); } }