public async Task <IActionResult> ProductDelete(int id) { var product = await _productService.GetById(id); var pictureid = await _productPictureService.IdFromName(product.Id.ToString()); var sepet = _basketService.GetAll().Result.Where(x => x.ProductId == product.Id).ToList(); if (sepet.Count == 0) { await _productPictureService.Delete(pictureid); await _productService.Delete(product.Id); } return(RedirectToAction("Products", "Product")); }
public void Update(ProductDto item, string virtualPath, string physicalPath, ICollection <PictureTransfer> pictureTransfers) { InitProductPicture(item, virtualPath, pictureTransfers); Unit = new UnitOfWork(this); Repository.Update(item, false); IProductPictureService pictureService = GetService <IProductPictureService>(); int counter = 0; foreach (var pic in pictureTransfers) { switch (pic.State) { case PictureTransfer.States.Added: { pictureService.Insert(item.ProductPictures.ElementAt(counter)); break; } case PictureTransfer.States.Updated: { pictureService.Update(item.ProductPictures.ElementAt(counter)); break; } case PictureTransfer.States.Deleted: { pictureService.Delete(item.ProductPictures.ElementAt(counter)); break; } } counter++; } StorePictures(item, physicalPath, pictureTransfers); Unit.Save(); }