예제 #1
0
        public ActionResult CreateProduct(ProductViewModel productViewModel, HttpPostedFileBase productImg)
        {
            if (ModelState.IsValid)
            {
                Product product = ProductViewModelHelpers.ToDomainModel(productViewModel);

                //save image on the server and write path to it to the product object
                if (productImg != null)
                {
                    try
                    {
                        product = loadAndBindImage(product, productImg);
                        PZLogger.GetInstance().Info("ADMIN_CONTROLLER::Image for " + product.Name + " has been saved.");
                    }
                    catch (Exception e)
                    {
                        PZLogger.GetInstance().Error("ADMIN_CONTROLLER::Image load error: " + e.Message);
                        return(View("~/Views/Shared/Error.cshtml"));
                    }
                }

                AddOrUpdateCategories(product, productViewModel.Categories);
                productRepository.SaveProduct(product);
                TempData["message"] = string.Format("Product \"{0}\" are successful created", product.Name);
            }
            else
            {
                return(View(productViewModel));
            }

            return(RedirectToAction("Index"));
        }
예제 #2
0
        public ActionResult EditProduct(int productID)
        {
            Product product   = productRepository.Products.FirstOrDefault(p => p.ProductID == productID);
            var     viewModel = ProductViewModelHelpers.ToViewModel(product);

            viewModel.Categories = FillCategoryData(product);

            return(View(viewModel));
        }