public async Task <ActionResult> Create(ProductItemsViewModel productItem)
        {
            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    var newProductItem = await _productItemService.AddProductItemAsync(_mapper.Map <ProductItem>(productItem.ProductItemViewModel));

                    if (newProductItem != null)
                    {
                        TempData["Message"] = "Product Item added successfully";
                        return(RedirectToAction(nameof(Index)));
                    }
                }
                ProductItemsViewModel productItemsViewModel = new ProductItemsViewModel
                {
                    ProductViewModels = _mapper.Map <List <ProductViewModel> >(await _productService.GetAllProductAsync())
                };
                return(View(productItemsViewModel));
            }
            catch
            {
                return(View());
            }
        }
Exemple #2
0
        public async Task <ActionResult> AddWishItemsInCart(int productId, int quantity)
        {
            var cart = new CartService(HttpContext);

            cart.MakeProxyCreationFalse();
            await cart.AddItemsInCart(productId, quantity);

            var wish = new CartService(HttpContext, true);

            wish.MakeProxyCreationFalse();
            await wish.RemoveWishList(productId);

            var items = await cart.GetCartItemsAsync();

            //wish.MakeProxyCreation();

            var viewModel = new ProductItemsViewModel
            {
                WishLists = await wish.GetWishListAsync(),
                Items     = items,
                Sum       = CalculateCart(items)
            };
            var result = JsonConvert.SerializeObject(viewModel, Formatting.Indented,
                                                     new JsonSerializerSettings
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        // GET: ProductItem/Create
        public async Task <ActionResult> Create()
        {
            ProductItemsViewModel productItemsViewModel = new ProductItemsViewModel
            {
                ProductViewModels = _mapper.Map <List <ProductViewModel> >(await _productService.GetAllProductAsync())
            };

            return(View(productItemsViewModel));
        }
        // GET: ProductItem/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            ProductItemsViewModel productItemsViewModel = new ProductItemsViewModel
            {
                ProductItemViewModel = _mapper.Map <ProductItemViewModel>(await _productItemService.GetProductItemAsync(id)),
                ProductViewModels    = _mapper.Map <List <ProductViewModel> >(await _productService.GetAllProductAsync())
            };

            return(View(productItemsViewModel));
        }
        public ProductItemsPage()
        {
            InitializeComponent();

            BindingContext = viewModel = new ProductItemsViewModel();
        }
        public ViewResult Items(string category, int page = 1)
        {
            ProductItemsViewModel productItemsViewModel = new ProductItemsViewModel
            {
                FeaturedProducts = _repository.GetAll()
                                   .Where(p => category == null || p.Category == category)
                                   .OrderBy(p => p.ProductId)
                                   .Skip((page - 1) * MainAreaHomePageSize)
                                   .Take(MainAreaHomePageSize),
                FeaturedProductsPagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = MainAreaHomePageSize,
                    TotalItems   = (category == null) ? _repository.GetAll().Count() : _repository.GetAll().Count(e => e.Category == category)
                },

                NewArrivalProducts = _repository.GetAll()
                                     .Where(p => category == null || p.Category == category)
                                     .OrderBy(p => p.ProductId)
                                     .Skip((page - 1) * MainAreaHomePageSize)
                                     .Take(MainAreaHomePageSize),
                NewArrivalProductsPagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = MainAreaHomePageSize,
                    TotalItems   = (category == null) ? _repository.GetAll().Count() : _repository.GetAll().Count(e => e.Category == category)
                },

                RandomProducts = _repository.GetAll()
                                 .Where(p => category == null || p.Category == category)
                                 .OrderBy(p => p.ProductId)
                                 .Skip((page - 1) * SubAreaHomePageSize)
                                 .Take(SubAreaHomePageSize),
                RandomProductsPagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = SubAreaHomePageSize,
                    TotalItems   = (category == null) ? _repository.GetAll().Count() : _repository.GetAll().Count(e => e.Category == category)
                },
                BestSellerProducts = _repository.GetAll()
                                     .Where(p => category == null || p.Category == category)
                                     .OrderBy(p => p.ProductId)
                                     .Skip((page - 1) * SubAreaHomePageSize)
                                     .Take(SubAreaHomePageSize),
                BestSellerProductsPagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = SubAreaHomePageSize,
                    TotalItems   = (category == null) ? _repository.GetAll().Count() : _repository.GetAll().Count(e => e.Category == category)
                },
                HotSaleProducts = _repository.GetAll()
                                  .Where(p => category == null || p.Category == category)
                                  .OrderBy(p => p.ProductId)
                                  .Skip((page - 1) * SubAreaHomePageSize)
                                  .Take(SubAreaHomePageSize),
                HotSaleProductsPagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = SubAreaHomePageSize,
                    TotalItems   = (category == null) ? _repository.GetAll().Count() : _repository.GetAll().Count(e => e.Category == category)
                },

                CurrentCategory = category
            };

            return(View(productItemsViewModel));
        }