コード例 #1
0
        public async Task <ActionResult> Index(string searchString, string currentFilter,
                                               string sorting, int pageSize = 10, int pageNumber = 1)
        {
            if (String.IsNullOrEmpty(searchString))
            {
                searchString = currentFilter;
            }

            var model = new IndexViewModel <VehicleModelDTO, string>();

            var filteringParams = _filteringFactory.Build(searchString, currentFilter);
            var pagingParams    = _pagingFactory.Build(pageNumber, pageSize);
            var sortingParams   = _sortingFactory.Build(sorting);
            var options         = _optionsFactory.Build(include: "VehicleMake");

            var pagedDomainList = await _modelService.GetAllAsync(filteringParams, pagingParams, sortingParams, options);

            model.EntityList = new StaticPagedList <VehicleModelDTO>(Mapper.Map <IEnumerable <VehicleModelDTO> >(pagedDomainList),
                                                                     pagedDomainList.GetMetaData());
            SetMessage();

            model.CurrentFilter      = searchString;
            ViewBag.PageSizeDropdown = new SelectList(PagingHelper.PageSizeDropdown);
            ViewBag.IdSorting        = sorting == "id" ? "id_desc" : "id";
            ViewBag.NameSorting      = string.IsNullOrEmpty(sorting) ? "name_desc" : "";
            ViewBag.AbrvSorting      = sorting == "abrv" ? "abrv_desc" : "abrv";
            ViewBag.MakeSorting      = sorting == "make" ? "make_desc" : "make";
            model.Sorting            = sorting;

            return(View(model));
        }