public IActionResult Edit(int id) { var product = _productRepository.GetProductByID(id); if (product != null) { var form = new AddProductFormVIewModel() { Name = product.Name, Safety = product.Safety, ProductId = product.ProductId, Ingredient = product.Ingredient, Description = product.Description, Brand = product.Brand, } ; var categoryDetail = _categoryRepository.AllCategoryDetails; foreach (var cd in categoryDetail) { form.CategoriesDetail.Add( new SelectListItem { Value = cd.CategoryDetailId.ToString(), Text = $"{ cd.Category.Name } - {cd.SubCategory.Name}" } ); } var productDetails = new List <AddProductDetails>(); foreach (var productDetail in product.ProductDetail) { productDetails.Add( new AddProductDetails() { Size = productDetail.Size, Flavour = productDetail.Flavour, ImageUrl = productDetail.Images.First().Url, CategoryDetailId = productDetail.CategoryDetailId, PreviousPrice = productDetail.PreviousPrice, Price = productDetail.Price } ); } form.ProductDetails = productDetails; return(View(form)); } return(NotFound()); }
public IActionResult Add() { var form = new AddProductFormVIewModel(); var categoryDetail = _categoryRepository.AllCategoryDetails; foreach (var cd in categoryDetail) { form.CategoriesDetail.Add( new SelectListItem { Value = cd.CategoryDetailId.ToString(), Text = $"{ cd.Category.Name } - {cd.SubCategory.Name}" } ); } return(View(form)); }
public async Task <IActionResult> AddAsync(AddProductFormVIewModel form) { foreach (var product in form.ProductDetails) { if (product.PreviousPrice == null) { product.PreviousPrice = product.Price; } } if (ModelState.IsValid) { var newProduct = new Product() { Name = form.Name, Safety = form.Safety, Ingredient = form.Ingredient, Description = form.Description, Brand = form.Brand, }; var productDetails = new List <ProductDetail>(); foreach (var produtDetail in form.ProductDetails) { var prod = new ProductDetail { Size = produtDetail.Size, Flavour = produtDetail.Flavour, CategoryDetailId = produtDetail.CategoryDetailId, Price = (decimal)produtDetail.Price, PreviousPrice = (decimal)produtDetail.PreviousPrice, }; var uniqueFileName = Path.GetRandomFileName() + Path.GetExtension(produtDetail.Images.FileName); var imgUrl = await _blobService.UploadFileBlobAsync(produtDetail.Images, uniqueFileName); prod.Images = new List <Image> { new Image { Url = imgUrl } }; productDetails.Add(prod); } newProduct.ProductDetail = productDetails; _productRepository.AddProduct(newProduct); return(RedirectToAction("index", "Admin")); } var categoryDetail = _categoryRepository.AllCategoryDetails; foreach (var cd in categoryDetail) { form.CategoriesDetail.Add( new SelectListItem { Value = cd.CategoryDetailId.ToString(), Text = $"{ cd.Category.Name } - {cd.SubCategory.Name}" } ); } return(View(form)); }