Exemplo n.º 1
0
        public IActionResult UpdateFood(ManageFoodViewModel model)
        {
            if (ModelState.IsValid)
            {
                var original = _context.Matratts.SingleOrDefault(m => m.MatrattId == model.CurrentMatratt.MatrattId);
                _context.Entry(original).CurrentValues.SetValues(model.CurrentMatratt);
                _context.SaveChanges();

                var originalIngredients = _context.MatrattProdukts.Where(m => m.MatrattId == model.CurrentMatratt.MatrattId).Select(y => y.ProduktId).ToList();

                foreach (var item in model.ingredients)
                {
                    if (item.IsChecked && !originalIngredients.Contains(item.ProduktId))
                    {
                        MatrattProdukt newItem = new MatrattProdukt(original.MatrattId, item.ProduktId);
                        _context.Add(newItem);
                    }
                    else if (item.IsChecked == false && originalIngredients.Contains(item.ProduktId))
                    {
                        MatrattProdukt newItem = new MatrattProdukt(original.MatrattId, item.ProduktId);
                        _context.MatrattProdukts.Remove(newItem);
                    }
                }
                TempData["EditFood"] = "Maträtt uppdaterad";
                _context.SaveChanges();
            }
            else
            {
                TempData["EditFood"] = "Maträtt kunde inte uppdateras. Har du inte fyllt i alla uppgifter?";
            }

            return(RedirectToAction("ManageFood"));
        }
Exemplo n.º 2
0
        public IActionResult ViewFood(int id)
        {
            ManageFoodViewModel model = new ManageFoodViewModel();

            model.CurrentMatratt = _context.Matratts.Include(m => m.MatrattTyp).Include(m => m.MatrattProdukts).ThenInclude(m => m.Produkt).OrderBy(m => m.Beskrivning).Where(m => m.MatrattId == id).SingleOrDefault();
            //model.matrattsTyper = _context.MatrattTyps.ToList(); Behövs denna ens?

            model.SelectListMatrattTyper = new List <SelectListItem>();
            foreach (var typ in _context.MatrattTyps)
            {
                model.SelectListMatrattTyper.Add(new SelectListItem(typ.Beskrivning, typ.MatrattTypId.ToString()));
            }

            model.ingredients = _context.Produkts.ToList(); //Alla ingredienser som finns

            var ingredienser = _context.MatrattProdukts.Where(m => m.MatrattId == model.CurrentMatratt.MatrattId).Select(y => y.ProduktId).ToList();

            foreach (var item in model.ingredients)
            {
                if (ingredienser.Contains(item.ProduktId))
                {
                    item.IsChecked = true;
                }
            }

            return(PartialView("_ManageFoodPartial", model));
        }
Exemplo n.º 3
0
        public IActionResult ManageFood()
        {
            ManageFoodViewModel model = new ManageFoodViewModel();

            model.matratter              = _context.Matratts.Include(m => m.MatrattTyp).Include(m => m.MatrattProdukts).ThenInclude(m => m.Produkt).OrderBy(m => m.MatrattTyp.Beskrivning).ToList();
            model.matrattsTyper          = _context.MatrattTyps.ToList();
            model.ingredients            = _context.Produkts.ToList();
            model.SelectListMatrattTyper = new List <SelectListItem>();
            foreach (var typ in _context.MatrattTyps)
            {
                model.SelectListMatrattTyper.Add(new SelectListItem(typ.Beskrivning, typ.MatrattTypId.ToString()));
            }

            return(View(model));
        }
Exemplo n.º 4
0
        public IActionResult AddFood(ManageFoodViewModel model)
        {
            var foodAldreadyExist = _context.Matratts.Where(m => m.MatrattNamn == model.CurrentMatratt.MatrattNamn).ToList();

            if (ModelState.IsValid)
            {
                if (foodAldreadyExist.Count == 0)
                {
                    _context.Add(model.CurrentMatratt);
                    _context.SaveChanges();
                    TempData["AddFood"] = "Ny maträtt tillagd";

                    var selectedIngredients = model.ingredients.Where(i => i.IsChecked == true).ToList();
                    var newFoodId           = _context.Matratts.SingleOrDefault(m => m.MatrattNamn == model.CurrentMatratt.MatrattNamn).MatrattId;

                    foreach (var ingredient in selectedIngredients)
                    {
                        MatrattProdukt newItem = new MatrattProdukt();
                        newItem.MatrattId = newFoodId;
                        newItem.ProduktId = ingredient.ProduktId;
                        _context.Add(newItem);
                    }

                    _context.SaveChanges();

                    return(RedirectToAction("ManageFood"));
                }
                else
                {
                    TempData["AddFood"] = "Maträtt kunde inte läggas till. Namn på maträtt upptaget?";
                    return(RedirectToAction("ManageFood"));
                }
            }

            return(RedirectToAction("ManageFood"));
        }