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));
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 9
0
        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();
     }
 }
Exemplo n.º 11
0
        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();
     }
 }
Exemplo n.º 13
0
 public void CreateNewDish(Matratt dish, List <Produkt> ingredients)
 {
     if (dish != null && ingredients != null)
     {
         _dishRepository.Add(dish, ingredients);
     }
 }
Exemplo n.º 14
0
        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();
     }
 }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        public async Task <bool> UpdateDishAsync(Matratt dish)
        {
            _context.Entry(dish).State = EntityState.Modified;
            var result = await _context.SaveChangesAsync();

            return(result == 1);
        }
Exemplo n.º 18
0
        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));
            }
        }
Exemplo n.º 19
0
        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();
     }
 }
Exemplo n.º 22
0
        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();
            }
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 25
0
 public CheckOutViewModel()
 {
     Order          = new Bestallning();
     Dishes         = new List <Matratt>();
     TotalPrice     = 0;
     QuantityBouns  = false;
     PointBouns     = false;
     LowestCostDish = new Matratt();
     User           = new AspNetUser();
 }
Exemplo n.º 26
0
        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();
            }
        }
Exemplo n.º 27
0
 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>();
 }
Exemplo n.º 28
0
        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;
        }
Exemplo n.º 29
0
        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);
        }
Exemplo n.º 30
0
        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);
            }
        }