public ActionResult Edit(ProductViewModelAdmin productViewModel, int page)
        {
            var product = db.Products.Find(productViewModel.Id);

            product.Name          = productViewModel.Name;
            product.Price         = productViewModel.Price;
            product.Description   = productViewModel.Description;
            product.StockQuantity = productViewModel.StockQuantity;
            product.Views         = productViewModel.Views;
            product.Priority      = productViewModel.Priority;
            product.Discount      = productViewModel.Discount;
            product.Status        = productViewModel.Status;
            product.CategoryId    = productViewModel.CategoryId;
            if (productViewModel.ImageFile != null)
            {
                string fileName      = Path.GetFileNameWithoutExtension(productViewModel.ImageFile.FileName);
                string fileExtension = Path.GetExtension(productViewModel.ImageFile.FileName);
                fileName = Slug.CreateSlug(productViewModel.Name) + fileExtension;

                string path = Path.Combine(Server.MapPath(Constants.PRODUCT_IMAGE_PATH), fileName);
                productViewModel.ImageFile.SaveAs(path);

                product.Avatar = Constants.PRODUCT_IMAGE_PATH + fileName;
            }
            db.SaveChanges();
            return(RedirectToAction("AllProduct", "Products", new { area = "Admin", page }));
        }
        public ActionResult Create(ProductViewModelAdmin productViewModel)
        {
            ViewBag.Title = "Tạo mới sản phẩm";
            if (ModelState.IsValid)
            {
                string fileName      = Path.GetFileNameWithoutExtension(productViewModel.ImageFile.FileName);
                string fileExtension = Path.GetExtension(productViewModel.ImageFile.FileName);

                fileName = Slug.CreateSlug(productViewModel.Name) + fileExtension;

                string path = Path.Combine(Server.MapPath(Constants.PRODUCT_IMAGE_PATH), fileName);
                productViewModel.ImageFile.SaveAs(path);

                Product product = new Product()
                {
                    Name          = productViewModel.Name,
                    CategoryId    = productViewModel.CategoryId,
                    Price         = productViewModel.Price,
                    Description   = productViewModel.Description,
                    StockQuantity = productViewModel.StockQuantity,
                    Views         = productViewModel.Views,
                    Priority      = productViewModel.Priority,
                    Discount      = productViewModel.Discount,
                    Status        = productViewModel.Status,
                    Avatar        = Constants.PRODUCT_IMAGE_PATH + fileName
                };

                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("AllProduct", "Products", new { area = "Admin" }));
            }
            return(View(productViewModel));
        }
        public ActionResult Edit(int id, int?page)
        {
            ViewBag.Title = "Chỉnh sửa sản phẩm";
            ViewBag.Page  = page ?? 1;
            var product = db.Products.Find(id);

            if (product == null)
            {
                return(RedirectToAction("AllProduct", "Products", new { area = "Admin" }));
            }
            ProductViewModelAdmin productViewModel = new ProductViewModelAdmin()
            {
                Id            = product.Id,
                Name          = product.Name,
                CategoryId    = product.CategoryId.Value,
                CategoryName  = product.Category.Name,
                Price         = product.Price,
                Description   = product.Description,
                StockQuantity = product.StockQuantity,
                Views         = product.Views,
                Priority      = product.Priority,
                Discount      = product.Discount,
                Status        = product.Status,
                Avatar        = product.Avatar
            };

            ViewBag.CategoryList = db.Categories.Take(10).ToList();
            return(View(productViewModel));
        }