コード例 #1
0
        // get all data centers
        public DataCenterIndexVM GetDataCenterList(string sortOrder, string currentFilter, string searchString, int?page)
        {
            try
            {
                IEnumerable <DataCenterVM> dataCenterList = _context.DataCenterLocation
                                                            .Select(c => new DataCenterVM
                {
                    Location   = c.Location,
                    LocationID = c.LocationID,
                });

                page = searchString == null ? page : 1;
                int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
                searchString = searchString ?? currentFilter;
                int pageNumber        = (page ?? 1);
                int defaultPageSize   = ConstantsRepo.PAGE_SIZE;
                var sorted            = Sort(dataCenterList, sortOrder, searchString);
                int totalNumOfCenters = sorted.Count();
                sortOrder = sortOrder == null ? ConstantsRepo.SORT_DATACENTER_BY_NAME_ASCE : sortOrder;

                DataCenterIndexVM model = new DataCenterIndexVM
                {
                    DataCenters    = sorted.ToPagedList(pageNumber, defaultPageSize),
                    LocationSort   = sortOrder == ConstantsRepo.SORT_DATACENTER_BY_NAME_DESC ? ConstantsRepo.SORT_DATACENTER_BY_NAME_ASCE : ConstantsRepo.SORT_DATACENTER_BY_NAME_DESC,
                    CurrentFilter  = searchString,
                    CurrentSort    = sortOrder,
                    TotalItemCount = totalNumOfCenters,
                    ItemStart      = currentPageIndex * defaultPageSize + 1,
                    ItemEnd        = totalNumOfCenters - (defaultPageSize * currentPageIndex) >= defaultPageSize ? defaultPageSize * (currentPageIndex + 1) : totalNumOfCenters,
                };
                return(model);
            }
            catch (Exception)
            {
                return(null);
            }
        }
コード例 #2
0
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            DataCenterIndexVM dataCenterList = _dRepo.GetDataCenterList(sortOrder, currentFilter, searchString, page);

            return(View(dataCenterList));
        }