public ActionResult AllProducts(string search, string sortBy, int?i)
        {
            var StoreItems = StoreItemProcessor.ConvertAllStoreItemToModels()
                             .Where(x => search == null || x.Name.ToLower()
                                    .StartsWith(search.ToLower()))
                             .ToList();

            if (sortBy != "Sort By")
            {
                if (sortBy == "Price up")
                {
                    StoreItems = StoreItems.OrderByDescending(x => x.PriceWithDiscount).ToList();
                }
                if (sortBy == "Price down")
                {
                    StoreItems = StoreItems.OrderBy(x => x.PriceWithDiscount).ToList();
                }
                if (sortBy == "In Stock up")
                {
                    StoreItems = StoreItems.OrderByDescending(x => x.InStock).ToList();
                }
                if (sortBy == "In Stock down")
                {
                    StoreItems = StoreItems.OrderBy(x => x.InStock).ToList();
                }
            }

            return(View(StoreItems.ToPagedList(i ?? 1, 8)));
        }
Example #2
0
        public ActionResult Index()
        {
            var models = StoreItemProcessor.ConvertAllStoreItemToModels();

            models = models.Where(x => x.Discount != 0).ToList();
            return(View(models));
        }
        public ActionResult AddToShoppingCart(Guid id)
        {
            Guid userId = GetUserId();

            var storeItem = StoreItemProcessor.GetStoreItemModelbyId(id);

            ShoppingCartProcessor.AddToShoppingCart(userId, storeItem);

            return(RedirectToAction("ShoppingCart", "Acount"));
        }
        public ActionResult Edit(Guid id)
        {
            var model = StoreItemProcessor.GetStoreItemModelbyId(id);

            if (model == null)
            {
                return(View());
            }

            return(View(model));
        }
        public ActionResult Edit(StoreItemModel model, List <HttpPostedFileBase> StoreImages)
        {
            var checkModel = StoreItemProcessor.GetStoreItemModelbyId(model.Id);

            if (StoreImages != null && StoreImages[0] != null)
            {
                var imageData   = StoreItemProcessor.ConverToBytes(StoreImages);
                var imagemodels = StoreItemProcessor.ConvertToImageModel(imageData);

                model.Images = imagemodels;
            }
            StoreItemProcessor.UpdateStoreItemImages(model);
            return(RedirectToAction("AllProducts"));
        }
        public ActionResult EditShoppingCart(ShoppingCartModel model)
        {
            Guid userId    = GetUserId();
            var  user      = UserProcessor.GetUserToModel(userId);
            var  userModel = UserProcessor.GetUserToModel(userId);

            var checkUserOwnesItem = userModel.ShoppingCart.Where(x => x.Id == model.Id).SingleOrDefault();
            var storeItem          = StoreItemProcessor.GetStoreItemModelbyId(checkUserOwnesItem.StoreItemId);

            var StockAmountIsGreater = storeItem.InStock >= model.Amount;

            if (model == null || checkUserOwnesItem == null || !StockAmountIsGreater)
            {
                return(RedirectToAction("EditShoppingCart", "Acount"));
            }
            ShoppingCartProcessor.UpdateShoppingCart(checkUserOwnesItem, model);
            return(RedirectToAction("ShoppingCart", "Acount"));
        }
        public ActionResult AddProduct(StoreItemModel model, List <HttpPostedFileBase> StoreImages)
        {
            if (model == null || !ModelState.IsValid)
            {
                return(View());
            }

            if (StoreImages != null)
            {
                var imageData   = StoreItemProcessor.ConverToBytes(StoreImages);
                var imagemodels = StoreItemProcessor.ConvertToImageModel(imageData);

                model.Images = imagemodels;
            }
            model.Id = Guid.NewGuid();
            StoreItemProcessor.CreateStoreItem(model);

            return(RedirectToAction("AllProducts"));
        }
 public ActionResult Delete(StoreItemModel model)
 {
     StoreItemProcessor.RemoveStoreItem(model);
     return(RedirectToAction("AllProducts"));
 }