public async Task <IActionResult> AddProduct(ProImgAndModelduct product, Rom rom, Ram ram) { if (product.NameProduct == null) { ModelState.AddModelError("NameProduct", "Vui lòng điền trường này"); } string uniqueFileName = await GetUniqueFileName(product, product.ImgFile.FileName); //Thêm hình var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "ProductImg"); var filePath = Path.Combine(uploads, uniqueFileName); product.ImgFile.CopyTo(new FileStream(filePath, FileMode.Create)); Product productNew = new Product(); productNew.NameProduct = product.NameProduct; productNew.ManufacturerId = product.ManufacturerId; productNew.RamId = product.RamId; productNew.RomId = product.RomId; productNew.ImgUrl = uniqueFileName; if (product.Discount != null) { productNew.DiscountId = product.DiscountId; } productNew.Note = product.Note; productNew.Price = product.Price; _context.Products.Update(productNew); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ListProduct))); }
//Thêm sản phẩm private async Task <string> GetUniqueFileName(ProImgAndModelduct product, string fileName) { var Manufacturer = await _context.Manufacturers.FirstOrDefaultAsync(m => m.ManufacturerId == product.ManufacturerId); var Ram = await _context.Rams.FirstOrDefaultAsync(r => r.RamId == product.RamId); var Rom = await _context.Roms.FirstOrDefaultAsync(r => r.RomId == product.RomId); return(Manufacturer.ManufacturerName + "_" + product.NameProduct + "_" + Ram.Memory + "_" + Rom.Space + Guid.NewGuid().ToString().Substring(0, 4) + "_" + Path.GetExtension(fileName)); }