Example #1
0
        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"));
        }
Example #2
0
        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();
        }