コード例 #1
0
        public ActionResult Delete(int id, int?categoryid)
        {
            _productsBL.Delete(id);

            ProductsFilterViewModel filterViewModel = new ProductsFilterViewModel();

            filterViewModel.Category.Id = categoryid;
            TempData[Constants.TempDataKeys.PRODUCTS_FILTER_VIEW_MODEL] = filterViewModel;
            return(RedirectToAction("Index"));
        }
コード例 #2
0
        public ActionResult Index(ProductsFilterViewModel filter)
        {
            if (TempData[Constants.TempDataKeys.PRODUCTS_FILTER_VIEW_MODEL] != null)
            {
                filter = (ProductsFilterViewModel)TempData[Constants.TempDataKeys.PRODUCTS_FILTER_VIEW_MODEL];
            }

            filter.PageSize = ApplicationSettings.Instance.AppSettings.DefaultPageSize;

            ProductsViewModel model = new ProductsViewModel
            {
                Filter = filter
            };

            if (ModelState.IsValid)
            {
                ModelState.RemoveStateFor(filter, viewModel => filter.Category.Name);
                if (filter.Category.Id.HasValue)
                {
                    filter.Category.Name = _productCategoriesBL.GetById(filter.Category.Id.Value).Name;
                }

                ProductsFilter productsFilter = new ProductsFilter
                {
                    ParentId = filter.Category.Id
                };
                productsFilter.PaginationFilter.PageNumber = filter.PageNumber;
                productsFilter.PaginationFilter.PageSize   = filter.PageSize;

                PagedProductListResult pagedProductListResult = _productsBL.Get(productsFilter);
                model.Filter.TotalRecords = pagedProductListResult.TotalRecords;

                model.Products = pagedProductListResult.Entities.Select(entity => new ProductListItemViewModel
                {
                    Product    = entity,
                    CategoryId = filter.Category.Id
                }).ToList();
            }

            return(View(model));
        }