示例#1
0
        public IActionResult EditProduct(int id = 1)
        {
            WinkelViewModel model = new WinkelViewModel();

            model.Allergies = _manager.GetAllergies().ToList();
            model.Product   = _manager.GetProduct(id);

            model.SelectedAllergies = new List <WinkelItem>();
            foreach (Allergie allergie in model.Allergies)
            {
                bool selected = false;
                foreach (ProductAllergie productAllergie in model.Product.ProductAllergies)
                {
                    if (productAllergie.Allergie.Naam.Equals(allergie.Naam))
                    {
                        selected = true;
                    }
                }
                model.SelectedAllergies.Add(new WinkelItem()
                {
                    Id       = allergie.AllergieId,
                    Name     = allergie.Naam,
                    Selected = selected
                });
            }


            return(View(model));
        }
示例#2
0
        public IActionResult Details(int id = 1)
        {
            WinkelViewModel model = new WinkelViewModel();

            model.Allergies = _manager.GetAllergies().ToList();
            model.Product   = _manager.GetProduct(id);

            model.SelectedAllergies = new List <Models.WinkelItem>();
            foreach (Allergie allergie in model.Allergies)
            {
                bool selected = false;
                foreach (ProductAllergie productAllergie in model.Product.ProductAllergies)
                {
                    if (productAllergie.Allergie.Naam.Equals(allergie.Naam))
                    {
                        selected = true;
                    }
                }
                model.SelectedAllergies.Add(new Models.WinkelItem()
                {
                    Id       = allergie.AllergieId,
                    Name     = allergie.Naam,
                    Selected = selected
                });
            }

            return(RedirectToRoute(new
            {
                controller = "Product",
                action = "Index",
                id = id
            }));
            //return View(model);
        }
示例#3
0
        public async Task <ActionResult> EditProduct(int id, WinkelViewModel model)
        {
            if (model.ImageFile != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await model.ImageFile.CopyToAsync(memoryStream);

                    // Upload the file if less than 8 MB
                    if (memoryStream.Length < 8388608)
                    {
                        model.Product.ImageData = memoryStream.ToArray();
                    }
                    else
                    {
                        ModelState.AddModelError("File", "The file is too large.");
                    }
                }
            }

            List <ProductAllergie> productAllergies = new List <ProductAllergie>();

            if (ModelState.IsValid)
            {
                foreach (WinkelItem item in model.SelectedAllergies)
                {
                    if (item.Selected)
                    {
                        productAllergies.Add(new ProductAllergie
                        {
                            Product  = model.Product,
                            Allergie = _manager.GetAllergie(item.Id)
                        });
                    }
                }
                Product toChange = _manager.GetProduct(id);
                toChange.ProductAllergies = productAllergies;
                toChange.Naam             = model.Product.Naam;
                toChange.Beschrijving     = model.Product.Beschrijving;
                if (model.ImageFile != null)
                {
                    toChange.ImageData = model.Product.ImageData;
                }

                model.Product.ProductAllergies = productAllergies;
                _manager.ChangeProduct(toChange);
            }

            return(RedirectToAction("IndexAdmin", "Database"));
        }
示例#4
0
        public IActionResult NewProduct()
        {
            WinkelViewModel model = new WinkelViewModel();

            model.Allergies = _manager.GetAllergies().ToList();
            model.Product   = new Product();

            model.SelectedAllergies = new List <WinkelItem>();
            foreach (Allergie allergie in model.Allergies)
            {
                model.SelectedAllergies.Add(new WinkelItem()
                {
                    Id   = allergie.AllergieId,
                    Name = allergie.Naam
                });
            }
            return(View(model));
        }