public ActionResult Create()
        {
            var productAddFormViewModel = new ProductAddFormViewModel
            {
                Categories = _categoryService.GetAllCategories()
            };

            return(View(productAddFormViewModel));
        }
        public ActionResult Create(ProductAddFormViewModel productAddFormViewModel)
        {
            if (!ModelState.IsValid)
            {
                productAddFormViewModel.Categories = _categoryService.GetAllCategories();
                return(View(productAddFormViewModel));
            }

            var product = Mapper.Map <Product>(productAddFormViewModel);

            if (productAddFormViewModel.Thumbnail != null)
            {
                product.Thumbnail = ProcessImage("thumbnail", productAddFormViewModel.Thumbnail.InputStream,
                                                 ImageSizeConstant.ProductThumbnailHeight, ImageSizeConstant.ProductThumbnailWidth);
            }


            if (productAddFormViewModel.Images != null)
            {
                var imageList = new List <ProductImage>();
                foreach (var image in productAddFormViewModel.Images)
                {
                    if (image != null)
                    {
                        var productImage = new ProductImage
                        {
                            ProductId = product.Id,
                            ImageData = ProcessImage("image", image.InputStream,
                                                     ImageSizeConstant.ProductImageHeight, ImageSizeConstant.ProductImageWidth)
                        };

                        imageList.Add(productImage);
                    }
                }
                product.ProductImages = imageList;
            }
            _productService.AddProduct(product);
            return(RedirectToAction("Index"));
        }