public int AddProduct(Product product, IFormFile imgUp, List <int> selectedColor, List <int> selectedSize) { product.CreatDate = DateTime.Now; product.ImageName = "no-photo.jpg"; product.IsActive = true; product.IsDelete = false; product.Visit = 0; product.ProductCode = product.ProductCode.Trim(); if (imgUp != null && imgUp.IsImage()) { product.ImageName = NameGenerator.GenerateUniqCode() + Path.GetExtension(imgUp.FileName); string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product", product.ImageName); using (var stream = new FileStream(imagePath, FileMode.Create)) { imgUp.CopyTo(stream); } ImageConvertor imgResizer = new ImageConvertor(); string thumbPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product/thumb", product.ImageName); imgResizer.Image_resize(imagePath, thumbPath, 330); } _context.Add(product); _context.SaveChanges(); foreach (var itemColor in selectedColor) //----color to product-------- { ColorToProduct colorToProduct = new ColorToProduct() { ColorId = itemColor, ProductId = product.Id, }; _context.Add(colorToProduct); } foreach (var itemSize in selectedSize) //------size to product----- { SizeToProduct sizeToProduct = new SizeToProduct() { SizeId = itemSize, ProductId = product.Id }; _context.Add(sizeToProduct); } _context.SaveChanges(); return(product.Id); }
public void EditProduct(Product product, IFormFile imgUp, List <int> selectedColor, List <int> selectedSize) { if (imgUp != null && imgUp.IsImage()) { if (product.ImageName != "no-photo.jpg") { string deleteimagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product", product.ImageName); if (File.Exists(deleteimagePath)) { File.Delete(deleteimagePath); } string deletethumbPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product/thumb", product.ImageName); if (File.Exists(deletethumbPath)) { File.Delete(deletethumbPath); } } product.ImageName = NameGenerator.GenerateUniqCode() + Path.GetExtension(imgUp.FileName); string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product", product.ImageName); using (var stream = new FileStream(imagePath, FileMode.Create)) { imgUp.CopyTo(stream); } ImageConvertor imgResizer = new ImageConvertor(); string thumbPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Product/thumb", product.ImageName); imgResizer.Image_resize(imagePath, thumbPath, 330); } _context.Products.Update(product); _context.ColorToProducts.Where(u => u.ProductId == product.Id).ToList() .ForEach(r => _context.ColorToProducts.Remove(r)); _context.SizeToProducts.Where(u => u.ProductId == product.Id).ToList() .ForEach(r => _context.SizeToProducts.Remove(r)); foreach (var itemColor in selectedColor) //----color to product-------- { ColorToProduct colorToProduct = new ColorToProduct() { ColorId = itemColor, ProductId = product.Id, }; _context.ColorToProducts.Add(colorToProduct); } foreach (var itemSize in selectedSize) //------size to product----- { SizeToProduct sizeToProduct = new SizeToProduct() { SizeId = itemSize, ProductId = product.Id }; _context.SizeToProducts.Add(sizeToProduct); } _context.SaveChanges(); }