// GET: Admin/Producten/Create public ActionResult Create() { var prodVm = new ProductCreateVm() { Product = null, //Hoofdcategorielijst = hoofdcategorielijst(), Leverancierlijst = leverancierlijst(), Categorielijst = categorielijst() }; return(View(prodVm)); }
public IActionResult Create(ProductCreateVm model) { if (HttpContext.Session.GetInt32("LoginLevel") != 2) { ViewBag.checkLogin = 0; return(View("../Home/AddCart")); } if (!ModelState.IsValid) { var x = _productService.GetList(); ViewBag.BrandList = x.BrandList; ViewBag.CategoryList = x.CategoryList; ViewBag.StatusList = x.StatusList; return(View()); } var products = _service.GetAll(); foreach (ProductDto item in products) { if (item.Name.ToLower() == model.Name.ToLower()) { var x = _productService.GetList(); ViewBag.BrandList = x.BrandList; ViewBag.CategoryList = x.CategoryList; ViewBag.StatusList = x.StatusList; ViewBag.ProductDuplicateErrorMessage = "Error"; return(View()); } } string uniqueFileName = ProcessUploadedFile(model); SaveProductDto saveProductDto = new SaveProductDto() { Name = model.Name, Price = model.Price, Sale = model.Sale, Amount = model.Amount, BrandID = model.BrandID, CategoryID = model.CategoryID, Hot = model.Hot, Status = model.Status, Content = model.Content, ImagePath = uniqueFileName }; _service.Add(saveProductDto); return(RedirectToAction("Index")); }
private string ProcessUploadedFile(ProductCreateVm model) { string uniqueFileName = null; if (model.Photo != null) { string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Photo.CopyTo(fileStream); } } return(uniqueFileName); }
public IActionResult Create(ProductCreateVm model) { if (ModelState.IsValid) { string uniqueFileName = ProcessUploadedFile(model); Product newProduct = new Product { Name = model.Name, Price = model.Price, Group = model.Group, ShortDescription = model.ShortDescription, LongDescription = model.ShortDescription, PhotoPath = uniqueFileName }; _productRepository.Add(newProduct); return(RedirectToAction("Details", new { id = newProduct.Id })); } return(View()); }
public ActionResult Create(ProductCreateVm inputProductCreateVm, HttpPostedFileBase upload) { var existingCategorie = db.Set <Categorie>().Find(inputProductCreateVm.Product.Categorie.Id); var existingLeverancier = db.Set <Leverancier>().Find(inputProductCreateVm.Product.Leverancier.GebruikerId); if (inputProductCreateVm.Product.Artikelnummer != null) { //nieuwe product maken var productToAdd = new Product { Artikelnummer = inputProductCreateVm.Product.Artikelnummer, Artikelnaam = inputProductCreateVm.Product.Artikelnaam, Artikelomschrijving = inputProductCreateVm.Product.Artikelomschrijving, Prijs = inputProductCreateVm.Product.Prijs, FiguurURL = inputProductCreateVm.Product.FiguurURL, Spotlight = inputProductCreateVm.Product.Spotlight, Categorie = existingCategorie, Leverancier = existingLeverancier }; if (ModelState.IsValid) { if (upload != null && upload.ContentLength > 0) { var photo = new FilePaths { FileName = System.IO.Path.GetFileName(upload.FileName), FileType = FileType.Photo, Artikelnummer = upload.ToString(), }; productToAdd.Files = new List <FilePaths>(); productToAdd.Files.Add(photo); upload.SaveAs(Path.Combine(Server.MapPath("~/Content/images"), upload.FileName)); } } //product tovoegen aan de dbSet (tabel) db.Set <Product>().Add(productToAdd); //context wijzigingen doorvoeren naar de Database db.SaveChanges(); //actie voor response ondernemen TempData["SuccessMessage"] = $"Het product <b>{productToAdd.Artikelnummer}</b> werd toegevoegd!"; return(RedirectToAction("Index", new { Controller = "Producten", Area = "Admin" })); } else { //de existing categorie of leverancier bestaat niet ModelState.AddModelError("Product.Categorie.Id", $"De categorie met id {inputProductCreateVm.Product.Categorie.Id} bestaat niet!"); ModelState.AddModelError("Product.Leverancier.GebruikerId", $"De Leverancier met id {inputProductCreateVm.Product.Leverancier.GebruikerId} bestaat niet!"); } //model not valid //input model wordt nu het view model, dus moet nog vervolledigd worden inputProductCreateVm = new ProductCreateVm() { Product = null, //Hoofdcategorielijst = hoofdcategorielijst(), Categorielijst = categorielijst(), Leverancierlijst = leverancierlijst() }; return(View(inputProductCreateVm)); }