示例#1
0
        public async Task <IActionResult> Shop(int?categoryId)
        {
            List <Product> products = await _context.Set <Product>()
                                      .Include(a => a.ProductImages)
                                      .Include(a => a.Prices)
                                      .Where(a => a.IsActive && a.ProductImages.Any(x => x.IsTitleImage) && (categoryId == null || a.CategoryId == categoryId))
                                      .ToListAsync();

            List <Category> categories = await _context.Set <Category>()
                                         .Include(a => a.Products)
                                         .Where(a => a.Products.Any())
                                         .ToListAsync();

            ProductGroupsViewModel model = new ProductGroupsViewModel
            {
                Products          = products,
                Categories        = categories,
                CurrentCategoryId = categoryId
            };

            List <Item> cart = HttpContext.Session.GetObjectFromJson <List <Item> >("cart") ?? new List <Item>();

            ViewBag.cartCount = cart.Count;

            return(View(model));
        }
        public ActionResult ProductGroupsParent_Update([DataSourceRequest] DataSourceRequest request, ProductGroupsViewModel productGroupsViewModel)
        {
            if (productGroupsViewModel != null && ModelState.IsValid)
            {
                ProductGroup productGroup = db.ProductGroups.Find(productGroupsViewModel.ProductGroupID);
                if (productGroup != null)
                {
                    productGroupsViewModel.ProductGroupTitle = productGroupsViewModel.ProductGroupTitle;

                    db.Entry(productGroup).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }

            return(Json(new[] { productGroupsViewModel }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult ProductGroupsParent_Create([DataSourceRequest] DataSourceRequest request, ProductGroupsViewModel productGroupsViewModel,
                                                       HttpPostedFileBase imgProductGroup, HttpPostedFileBase imgProductBanner)
        {
            if (productGroupsViewModel != null && ModelState.IsValid)
            {
                string mainImagePath   = "/Images/ProuctGroups/MainImage/";
                string bannerImagePath = "/Images/ProuctGroups/BannerImage/";
                string imageName       = "";
                string imageNameBanner = "";

                if (imgProductGroup != null && imgProductGroup.IsImage())
                {
                    imageName = Guid.NewGuid() + Path.GetExtension(imgProductGroup.FileName);
                    productGroupsViewModel.ProductGroupImage = imageName;
                    imgProductGroup.SaveAs(Server.MapPath(mainImagePath + imageName));
                }

                if (imgProductBanner != null && imgProductBanner.IsImage())
                {
                    imageNameBanner = Guid.NewGuid() + Path.GetExtension(imgProductBanner.FileName);
                    productGroupsViewModel.ProductGroupBanner = imageNameBanner;
                    imgProductBanner.SaveAs(Server.MapPath(bannerImagePath + imageNameBanner));
                }

                db.ProductGroups.Add(new ProductGroup()
                {
                    ProductGroupTitle  = productGroupsViewModel.ProductGroupTitle,
                    ProductGroupImage  = productGroupsViewModel.ProductGroupImage,
                    ProductGroupBanner = productGroupsViewModel.ProductGroupBanner,
                });
                db.SaveChanges();
            }

            return(Json(new[] { productGroupsViewModel }.ToDataSourceResult(request, ModelState)));
        }