Пример #1
0
        public ActionResult Index(GridSortOptions sort, int?page)
        {
            ViewBag.GagesGrid = PreparationGageGrid(sort, page);
            ViewBag.ExpirationOfVerification = ExpirationOfVerification();

            return(View());
        }
Пример #2
0
        /// <summary>
        /// 水质管理"searchString", ViewBag.search
        /// </summary>
        /// <returns></returns>
        public ActionResult waterquality(int?page, string searchString, GridSortOptions model)
        {
            var c = new ecoBioWmsContext();

            ViewBag.model     = model;
            ViewBag.page      = page;
            ViewBag.search    = searchString;
            ViewBag.Column    = "";
            ViewBag.Direction = "";

            //IEnumerable<DataManualCollection> list = (IEnumerable<DataManualCollection>)from s in c.DataManualCollections orderby s.manual_collection_sn descending select s;
            //if (!String.IsNullOrEmpty(searchString))
            //{
            //    double v = Convert.ToDouble(searchString);
            //    list = list.Where(p => p.manual_collection_value == v);
            //    ViewBag.search = searchString;
            //}
            //if (!string.IsNullOrEmpty(model.Column))
            //{
            //    ViewBag.Column = model.Column;
            //    ViewBag.Direction = model.Direction;
            //    list = list.OrderBy(model.Column, model.Direction);
            //}

            //list = list.AsPagination(page ?? 1, 5);
            //return View(list);

            return(View());
        }
Пример #3
0
        GetHistory(long clientId, ClientAccountActionModel accountFilters, PageSortOptions pageSortOptions)
        {
            var accountHistoryList = ClientAccountRepo.GetClientAccountHistoryProjected(clientId)
                                     .AsFiltered(accountFilters)
                                     .AsPagination(pageSortOptions);

            var accountHistoryViewFilterContainer = new AccountHistoryFilterContainer()
            {
                VersionDate                   = accountFilters.VersionDate,
                ManagerName                   = accountFilters.ManagerName,
                RealClientName                = accountFilters.RealClientName,
                OperationalClientName         = accountFilters.OperationalClientName,
                MoneyVolume                   = accountFilters.MoneyVolume,
                QuickCost                     = accountFilters.QuickCost,
                TargetAccountOrganizationName = accountFilters.TargetAccountOrganizationName
            };

            var gridSortOptions = new GridSortOptions
            {
                Column    = pageSortOptions.Column,
                Direction = pageSortOptions.Direction
            };

            var accountHistoryListContainer = new ListContainerModel <ClientAccountActionModel, AccountHistoryFilterContainer>()
            {
                PagedList       = accountHistoryList,
                FilterContainer = accountHistoryViewFilterContainer,
                GridSortOptions = gridSortOptions
            };

            return(accountHistoryListContainer);
        }
Пример #4
0
        public static HtmlString HiddenGridOptions(this HtmlHelper html, GridSortOptions gridOptions)
        {
            var column    = html.Hidden("Column", gridOptions.Column, new { @id = "bcms-grid-sort-column" });
            var direction = html.Hidden("Direction", gridOptions.Direction, new { @id = "bcms-grid-sort-direction" });

            return(new HtmlString(string.Concat(column.ToString(), direction.ToString())));
        }
Пример #5
0
        public ActionResult SelectedSamples(GridSortOptions sort, int?page)
        {
            var selectedSamples = _dataManager.SelectedSamples.GetSelectedSamples();
            var samplesForGrid  = new List <SelectedSamplesOutViewModel>();

            foreach (var selectedSample in selectedSamples)
            {
                Sample sample        = _dataManager.Samples.GetSampleByNumber(selectedSample.RegistrationNumber);
                var    sampleForGrid = new SelectedSamplesOutViewModel
                {
                    RegistrationNumber = selectedSample.RegistrationNumber,
                    SampleName         = sample.Name,
                    Applicant          = sample.Applicant,
                    SamplingDate       = selectedSample.SamplingDate
                };
                samplesForGrid.Add(sampleForGrid);
            }

            IEnumerable <SelectedSamplesOutViewModel> gridModel;

            if (sort.Column != null)
            {
                gridModel = samplesForGrid.OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, 30);
            }
            else
            {
                gridModel = samplesForGrid.OrderBy("SamplingDate", SortDirection.Descending).AsPagination(page ?? 1, 30);
            }
            ViewBag.Sort = sort;

            return(View(gridModel));
        }
Пример #6
0
        private ListContainerModel <ClientModel, ClientsFilterContainer> GetClientsList(ClientModel clientFilters, PageSortOptions pageSortOptions)
        {
            string loginToSearch   = (clientFilters.Login ?? new List <string>()).FirstOrDefault();
            var    clientPagedList = ClientRepo.GetClientsProjected(loginToSearch).AsFiltered(clientFilters)
                                     .AsPagination(pageSortOptions);
            var clientViewFilterContainer = new ClientsFilterContainer()
            {
                Login            = loginToSearch,
                IsDealler        = clientFilters.IsDealler,
                OrganizationName = clientFilters.OrganizationName,
                Status           = clientFilters.Status,
            };

            var gridSortOptions = new GridSortOptions
            {
                Column    = pageSortOptions.Column,
                Direction = pageSortOptions.Direction
            };

            var clientListContainer = new ListContainerModel <ClientModel, ClientsFilterContainer>()
            {
                PagedList       = clientPagedList,
                FilterContainer = clientViewFilterContainer,
                GridSortOptions = gridSortOptions
            };

            return(clientListContainer);
        }
Пример #7
0
        private ListContainerModel <AddressModel, AddressFilterContainer> GetAddressList(AddressModel addressFilters, PageSortOptions pageSortOptions)
        {
            var addressPagedList           = AddressRepo.GetAdressesProjected().AsFiltered(addressFilters).AsPagination(pageSortOptions);
            var addressViewFilterContainer = new AddressFilterContainer()
            {
                LastName    = addressFilters.LastName,
                MobilePhone = addressFilters.MobilePhone,
                City        = addressFilters.City,
                Sex         = addressFilters.Sex
            };

            var gridSortOptions = new GridSortOptions
            {
                Column    = pageSortOptions.Column,
                Direction = pageSortOptions.Direction
            };

            var clientListContainer = new ListContainerModel <AddressModel, AddressFilterContainer>()
            {
                PagedList       = addressPagedList,
                FilterContainer = addressViewFilterContainer,
                GridSortOptions = gridSortOptions
            };

            return(clientListContainer);
        }
Пример #8
0
        public ActionResult Index(GridSortOptions sort, int?page)
        {
            var directions        = _dataManager.Directions.GetNotCompletedDirectionsByDepartment("токсикология");
            var directionsForGrid = new List <DirectionToResearchViewModel>();

            foreach (var direction in directions)
            {
                Sample sample           = _dataManager.Samples.GetSampleByNumber(direction.SampleId);
                var    directionForGrid = new DirectionToResearchViewModel
                {
                    SampleId      = direction.SampleId,
                    SampleName    = sample.Name,
                    DirectionDate = direction.DirectionDate,
                    Applicant     = sample.Applicant
                };
                directionsForGrid.Add(directionForGrid);
            }
            IEnumerable <DirectionToResearchViewModel> gridModel;

            if (sort.Column != null)
            {
                gridModel = directionsForGrid.OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, 30);
            }
            else
            {
                gridModel = directionsForGrid.OrderBy("DirectionDate", SortDirection.Descending).AsPagination(page ?? 1, 30);
            }
            ViewBag.Sort = sort;

            return(View(gridModel));
        }
Пример #9
0
        //Подготовка списка средств измерения для вывода на страницу (извлечение из репозитория, сортировка)
        private IEnumerable <GageGridViewModel> PreparationGageGrid(GridSortOptions sort, int?page)
        {
            IEnumerable <Gage> allGages = dataManager.Gages.GetGages();
            var gagesGridViewModel      = new List <GageGridViewModel>();

            foreach (Gage gage in allGages)
            {
                var gageForGrid = new GageGridViewModel
                {
                    GageId       = gage.Id,
                    GageName     = gage.Name,
                    SerialNumber = gage.SerialNumber,
                    State        = gage.State
                };

                IEnumerable <Certificate> certificates = dataManager.Certificates.GetCertificatesByGageId(gage.Id);
                if (certificates != null && certificates.Any())
                {
                    gageForGrid.EndVerification = certificates.Max(x => x.EndVerificationDate).ToShortDateString();
                }
                else
                {
                    gageForGrid.EndVerification = "не поверен";
                }

                gagesGridViewModel.Add(gageForGrid);
            }

            IEnumerable <GageGridViewModel> model = gagesGridViewModel.OrderBy(sort.Column, sort.Direction);

            ViewBag.Sort = sort;

            return(model);
        }
Пример #10
0
        public ActionResult NotScanned(NotScannedModel.DistributorUpdateSearchModel search, int page = 1, int pageSize = 10, GridSortOptions sort = null)
        {
            var model = new NotScannedModel();

            if (search.StartDate == DateTime.MinValue)
            {
                search.StartDate = DateTime.Now.AddDays(-7);
            }
            if (search.EndDate == DateTime.MinValue)
            {
                search.EndDate = DateTime.Now;
            }

            // Search criteria
            model.AllDistributorUpdateTypes = _distributorService.GetAllDistributorUpdateTypeNames().Select(x => new SelectListItem()
            {
                Text = x, Value = x
            }).ToList().InsertEmptyValue();
            model.AllWarehouses = WebUtility.ConvertDictionaryToSelectList(_warehouseService.GetAllWarehouses(), true);
            model.Search        = search;

            if (Request.QueryString.HasKeys())
            {
                // Set profile box data
                if (sort == null || string.IsNullOrEmpty(sort.Column))
                {
                    sort = new GridSortOptions()
                    {
                        Column = "DistNumber", Direction = SortDirection.Ascending
                    }
                }
                ;
                ViewBag.Sort = sort;

                var boxes = _distributorService.SearchDistributorUpdates(
                    new DistributorUpdateSearchCriteria
                {
                    StartDate   = CommonHelper.GetStartOfDate(search.StartDate),
                    EndDate     = CommonHelper.GetEndOfDate(search.EndDate),
                    Statuses    = new[] { (short)DistributorUpdateStatus.NotCompleted },
                    WarehouseId = search.WarehouseId,
                    UpdateType  = search.UpdateType
                },
                    page,
                    pageSize,
                    sort.Column,
                    WebUtility.GetSortDir(sort));
                model.DistributorUpdates = boxes.Select(x => x.ToModel <NotScannedModel.DistributorUpdateModel>()).ToList();
                model.Pager = boxes.ToMvcPaging(model.DistributorUpdates);

                // If current page > total pages, redirect to last page
                if (model.Pager.TotalPages > 0 && model.Pager.PageNumber > model.Pager.TotalPages)
                {
                    return(Redirect(Url.Paging(model.Pager.TotalPages, model.Pager.PageSize).ToString()));
                }
            }
            return(View(model));
        }
Пример #11
0
 /// <summary>
 /// Creates a new instance of CustomPagination
 /// </summary>
 /// <param name="dataSource">A pre-paged slice of data</param>
 /// <param name="pageNumber">The current page number</param>
 /// <param name="pageSize">The number of items per page</param>
 /// <param name="totalItems">The total number of items in the overall datasource</param>
 public CustomPagination(IEnumerable <T> dataSource, int pageNumber, int pageSize, int totalItems, GridSortOptions sortOptions, IDictionary <string, decimal> dicSum)
 {
     _dataSource = dataSource.ToList();
     PageNumber  = pageNumber;
     PageSize    = pageSize;
     TotalItems  = totalItems;
     SortOptions = sortOptions;
     DicSum      = dicSum;
 }
Пример #12
0
        /// <summary>
        /// This method takes in a filter list, paging/sort options and applies
        /// them to an IQueryable of type ProductViewModel
        /// </summary>
        /// <returns>
        /// The return object is a container that holds the sorted/paged list,
        /// state for the fiters and state about the current sorted column
        /// </returns>
        public ActionResult Index(
            string productName,
            int?supplierID,
            int?categoryID,
            GridSortOptions gridSortOptions,
            int?page)
        {
            var productList = productRepository.GetProductsProjected();

            // Set default sort column
            if (string.IsNullOrWhiteSpace(gridSortOptions.Column))
            {
                gridSortOptions.Column = "ProductID";
            }

            // Filter on SupplierID
            if (supplierID.HasValue)
            {
                productList = productList.Where(a => a.SupplierID == supplierID);
            }

            // Filter on CategoryID
            if (categoryID.HasValue)
            {
                productList = productList.Where(a => a.CategoryID == categoryID);
            }

            // Filter on ProductName
            if (!string.IsNullOrWhiteSpace(productName))
            {
                productList = productList.Where(a => a.ProductName.Contains(productName));
            }

            // Create all filter data and set current values if any
            // These values will be used to set the state of the select list and textbox
            // by sending it back to the view.
            var productFilterViewModel = new ProductFilterViewModel();

            productFilterViewModel.SelectedCategoryID = categoryID ?? -1;
            productFilterViewModel.SelectedSupplierID = supplierID ?? -1;
            productFilterViewModel.Fill();

            // Order and page the product list
            var productPagedList = productList
                                   .OrderBy(gridSortOptions.Column, gridSortOptions.Direction)
                                   .AsPagination(page ?? 1, 10);


            var productListContainer = new ProductListContainerViewModel
            {
                ProductPagedList       = productPagedList,
                ProductFilterViewModel = productFilterViewModel,
                GridSortOptions        = gridSortOptions
            };

            return(View(productListContainer));
        }
Пример #13
0
        //
        // GET: /File/

        public ActionResult Index(bool?group, bool?owner, int?id_file_detail, int?page, int?size, GridSortOptions sort, string searcher, int?id_user)
        {
            IEnumerable <file> files = db.files.ToList();

            if (owner.HasValue && owner.Value)
            {
                files         = files.Where(p => p.user.email == User.Identity.Name);
                ViewBag.owner = true;
            }
            if (id_file_detail.HasValue)
            {
                files = files.Where(a => a.id_file_detail == id_file_detail.Value);
                ViewBag.id_file_detail = id_file_detail.Value;
            }
            if (searcher != null)
            {
                files = files.Where(a => a.name.ToLower().Contains(searcher.ToLower()) || searcher.Equals(a.file_detail.md5) ||
                                    searcher.Equals(a.file_detail.sha1) || searcher.Equals(a.file_detail.sha256) || searcher.Equals(a.file_detail.sha512) ||
                                    searcher.Equals(a.file_detail.ssdeep) || searcher.Equals(a.file_detail.crc32));
            }
            if (id_user.HasValue)
            {
                files           = files.Where(p => p.user.id == id_user);
                ViewBag.id_user = id_user;
            }

            ViewData["sort"]  = sort;
            ViewData["owner"] = owner;

            if (group.HasValue && group.Value)
            {
                sort.Column      = String.IsNullOrEmpty(sort.Column) ? "md5" : sort.Column;
                ViewData["sort"] = sort;
                IEnumerable <file_detail> fd = files.Select(p => p.file_detail);
                fd           = fd.Distinct().OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, size ?? 10);
                ViewBag.data = fd;
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("_GridFileDet"));
                }
                return(View());
            }
            else
            {
                sort.Column      = String.IsNullOrEmpty(sort.Column) ? "name" : sort.Column;
                ViewData["sort"] = sort;
                files            = files.OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, size ?? 10);
                ViewBag.data     = files;
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("_GridFile"));
                }
                return(View());
            }
        }
Пример #14
0
        private IEnumerable <Employee> SortEmployeesForGrid(GridSortOptions sort)
        {
            IEnumerable <Employee> employees =
                dataManager.Employees.GetEmployees().Where(x => x.Login != null).Select(x => x);

            if (sort.Column != null)
            {
                employees    = employees.OrderBy(sort.Column, sort.Direction);
                ViewBag.Sort = sort;
            }
            return(employees);
        }
Пример #15
0
        public ActionResult Sorting(GridSortOptions sort)
        {
            ViewData["sort"] = sort;
            var people = _peopleFactory.CreatePeople();

            if (!string.IsNullOrEmpty(sort.Column))
            {
                people = people.OrderBy(sort.Column, sort.Direction);
            }

            return(View(people));
        }
Пример #16
0
 public ActionResult Index(string MaChucVu, string TenChucVu, int?Page, GridSortOptions Sort)
 {
     ViewBag.hdMaChucVu  = MaChucVu;
     ViewBag.hdTenChucVu = TenChucVu;
     ViewBag.hdPage      = Page ?? 1;
     if (Sort.Column == null)
     {
         Sort.Column    = "MaChucVu";
         Sort.Direction = MvcContrib.Sorting.SortDirection.Ascending;
     }
     ViewBag.Sort = Sort;
     return(View());
 }
Пример #17
0
        public ActionResult TechnicalRegulations(GridSortOptions sort)
        {
            var model = new TechnicalRegulationsViewModel
            {
                TechnicalRegulations =
                    dataManager.TechnicalRegulations.GetTechnicalRegulations()
            };

            model.TechnicalRegulations = model.TechnicalRegulations.OrderBy(sort.Column, sort.Direction);
            ViewBag.Sort = sort;

            return(View(model));
        }
Пример #18
0
        public ActionResult Index(GageViewModel model, GridSortOptions sort, int?page)
        {
            if (ModelState.IsValid)
            {
                dataManager.Gages.CreateGage(model.Name, model.SerialNumber, "не поверен");
                return(RedirectToAction("Index", "Metrology"));
            }

            ViewBag.GagesGrid = PreparationGageGrid(sort, page);
            ViewBag.ExpirationOfVerification = ExpirationOfVerification();

            return(View(model));
        }
Пример #19
0
        public ActionResult SortingAndPaging(int?page, GridSortOptions sort)
        {
            ViewData["sort"] = sort;
            var people = _peopleFactory.CreatePeople();

            if (!string.IsNullOrEmpty(sort.Column))
            {
                people = people.OrderBy(sort.Column, sort.Direction);
            }

            people = people.AsPagination(page ?? 1, 10);

            return(View(people));
        }
Пример #20
0
        /// <summary>
        /// Creates a new instance of the <see cref="LazyPagination{T}"/> class.
        /// </summary>
        /// <param name="query">The query to page.</param>
        /// <param name="pageNumber">The current page number.</param>
        /// <param name="pageSize">Number of items per page.</param>
        public LazyPagination(IQueryable <T> query, int pageNumber, int pageSize, GridSortOptions sortOptions, IDictionary <string, decimal> dicSum)
        {
            PageNumber  = pageNumber;
            PageSize    = pageSize;
            Query       = query;
            SortOptions = sortOptions;
            DicSum      = dicSum;

            //add by zhangh 2013/5/31 页码为-1时,返回最大页码
            if (PageNumber == -1)
            {
                PageNumber = TotalPages;
            }
        }
Пример #21
0
        public ActionResult Index(string name, string city, string street, GridSortOptions gridSortOptions, [DefaultValue(1)] int page)
        {
            // Pobranie listy użtkowników
            var providersList = _providerRepo.GetAllServiceProviders();

            // Ograniczenie listy użtkowników do potwierdzonych dla użytkowników zalogowanych innych niż administrator
            if (!Roles.GetRolesForUser(WebSecurity.CurrentUserName).Contains("Administrator"))
            {
                providersList = providersList.Where(a => a.IsConfirmed);
            }

            // Ustawienie domyślnej kolumny sortowania
            if (string.IsNullOrWhiteSpace(gridSortOptions.Column))
            {
                gridSortOptions.Column = "Id";
            }

            // Filtrowanie po nazwie
            if (!string.IsNullOrWhiteSpace(name))
            {
                providersList = providersList.Where(a => a.Name.Contains(name));
            }

            // Filtrowanie po mieście
            if (!string.IsNullOrWhiteSpace(city))
            {
                providersList = providersList.Where(a => a.City.Contains(city));
            }

            // Filtrowanie po ulicy
            if (!string.IsNullOrWhiteSpace(street))
            {
                providersList = providersList.Where(a => a.Street.Contains(street));
            }

            var providerFilterViewModel = new ServiceProviderFilterViewModel();

            // Sortowanie listy użtkowników oraz stronicowanie
            var providerPagedList = providersList.OrderBy(gridSortOptions.Column, gridSortOptions.Direction)
                                    .AsPagination(page, 5);

            var providerListContainer = new ServiceProviderListContainerViewModel
            {
                ServiceProviderPagedList       = providerPagedList,
                ServiceProviderFilterViewModel = providerFilterViewModel,
                GridSortOptions = gridSortOptions
            };

            return(View(providerListContainer));
        }
 public IActionResult Users()
 {
     ViewData.Model = new UserListVM()
     {
         RoleList = TypeOfUserRole.Administrator.ToSimpleDtoList()
                    .InsertItemAtFrontOfList(new SimpleDto()
         {
             Id   = AppConstants.PLACEHOLDER_ROW_ID,
             Name = "[Any Role]"
         }),
         UserList = new CustomPagination <UserDto>(new List <UserDto>(), 1, AppConstants.UNPAGED_PAGE_SIZE_IN_ROWS, 0)
     };
     ViewData["sort"] = new GridSortOptions();
     return(View());
 }
Пример #23
0
        public ViewResult Index(int?index, GridSortOptions sort)
        {
            ViewData["isApproved"]  = true;
            ViewData["isLockedOut"] = false;

            int    membershipAppId = int.Parse(ConfigurationManager.AppSettings["membershipAppId"]);
            string connString      = ConfigurationManager.ConnectionStrings["LocalMySqlServer"].ConnectionString;

            return(View(new IndexViewModel
            {
                //Changed to FindAllSorted. Originally it calls to standard method FindAll
                Users = _userService.FindAllSorted(index ?? 0, PageSize, membershipAppId, connString),
                Roles = _rolesService.FindAll()
            }));
        }
Пример #24
0
        public ActionResult Employees(RegistrationViewModel model, GridSortOptions sort)
        {
            ViewBag.Employees = SortEmployeesForGrid(sort);

            if (ModelState.IsValid)
            {
                if (dataManager.Employees.GetEmployeeByLogin(model.Login) == null)
                {
                    dataManager.Employees.CreateEmployee(model.FirstName, model.LastName, model.MiddleName, model.Post,
                                                         model.Department, model.Login, model.Password);
                    return(RedirectToAction("Employees"));
                }
                ModelState.AddModelError("", "Пользователь с таким логином уже существует.");
            }
            return(View(model));
        }
Пример #25
0
        public ActionResult Index(int page = 1, int pageSize = 10, GridSortOptions sort = null)
        {
            var model = new DataPurgeIndexModel();

            if (model.RegisteredModel.PurgeDate == DateTime.MinValue)
            {
                model.RegisteredModel.PurgeDate = DateTime.Today;
            }
            if (model.RegisteredModel.StartDate == DateTime.MinValue)
            {
                model.RegisteredModel.StartDate = DateTime.Today;
            }
            if (model.RegisteredModel.EndDate == DateTime.MinValue)
            {
                model.RegisteredModel.EndDate = DateTime.Today;
            }


            // Set profile box data
            if (sort == null || string.IsNullOrEmpty(sort.Column))
            {
                sort = new GridSortOptions()
                {
                    Column = "PurgeDate", Direction = SortDirection.Ascending
                }
            }
            ;
            ViewBag.Sort = sort;

            var boxes = _dataPurgeService.SearchDataPurges(
                page,
                pageSize,
                sort.Column,
                WebUtility.GetSortDir(sort));

            model.Purges = boxes.Select(x => x.ToModel <DataPurgeModel>()).ToList();
            model.Pager  = boxes.ToMvcPaging(model.Purges);

            // If current page > total pages, redirect to last page
            if (model.Pager.TotalPages > 0 && model.Pager.PageNumber > model.Pager.TotalPages)
            {
                return(Redirect(Url.Paging(model.Pager.TotalPages, model.Pager.PageSize).ToString()));
            }

            return(View(model));
        }
Пример #26
0
        //
        // GET: /ProfileScan/

        public ActionResult Index(ProfileScanSearchModel search, int page = 1, int pageSize = 10, GridSortOptions sort = null)
        {
            var model = new ProfileScanIndexModel();

            if (search.StartDate == DateTime.MinValue)
            {
                search.StartDate = DateTime.Now.AddDays(-7);
            }
            if (search.EndDate == DateTime.MinValue)
            {
                search.EndDate = DateTime.Now;
            }

            // Set profile box data
            if (sort == null || string.IsNullOrEmpty(sort.Column))
            {
                sort = new GridSortOptions()
                {
                    Column = "ScannedDate", Direction = SortDirection.Descending
                }
            }
            ;
            ViewBag.Sort = sort;

            var boxes = _profileService.SearchProfileScans(
                search.ToCriteria <ProfileScanSearchCriteria>(),
                page,
                pageSize,
                sort.Column,
                WebUtility.GetSortDir(sort));

            model.Scans  = boxes.Select(x => x.ToModel <ProfileScanModel>()).ToList();
            model.Pager  = boxes.ToMvcPaging(model.Scans);
            model.Search = search;
            model.AvailableWarehouses = GetAllWarehouses();
            model.AvailableResults    = GetAllProfileScanResults();

            // If current page > total pages, redirect to last page
            if (model.Pager.TotalPages > 0 && model.Pager.PageNumber > model.Pager.TotalPages)
            {
                return(Redirect(Url.Paging(model.Pager.TotalPages, model.Pager.PageSize).ToString()));
            }

            return(View(model));
        }
    }
Пример #27
0
        //
        // GET: /User/

        public ActionResult Index(int?page, int?size, GridSortOptions sort, string searcher)
        {
            sort.Column = String.IsNullOrEmpty(sort.Column) ? "name" : sort.Column;
            IEnumerable <user> users = db.users.ToList();

            if (searcher != null)
            {
                users = users.Where(a => a.name.ToLower().Contains(searcher.ToLower()) || a.email.ToLower().Contains(searcher.ToLower()));
            }
            users            = users.OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, size ?? 10);
            ViewData["sort"] = sort;
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_Grid", users));
            }
            return(View(users));
        }
Пример #28
0
        public ActionResult Index(string Name, string City, string Street, GridSortOptions sort,
                                  [DefaultValue(1)] int page)
        {
            IQueryable <ServiceProviderViewModel> providers = _serviceProviderRepo.GetAllServiceProvider();

            if (!User.IsInRole("administrator"))
            {
                providers.Where(s => s.IsConfirmed == true);
            }

            if (string.IsNullOrWhiteSpace(sort.Column))
            {
                sort.Column = "ServiceProviderId";
            }

            if (!string.IsNullOrWhiteSpace(Name))
            {
                providers = providers.Where(c => c.Name.Contains(Name));
            }

            if (!string.IsNullOrWhiteSpace(City))
            {
                providers = providers.Where(c => c.City.Contains(City));
            }

            if (!string.IsNullOrWhiteSpace(Street))
            {
                providers = providers.Where(c => c.Street.Contains(Street));
            }

            //potrzebna przestrzen nazw using MvcContrib.Sorting;  using MvcContrib.Pagination;
            var serviceProviderPagedList = providers.OrderBy(sort.Column, sort.Direction).AsPagination(page, 5);

            ServiceProviderFilterViewModel serviceProviderFilterViewModel = new ServiceProviderFilterViewModel();

            ServiceProviderListContainerViewModel customerListContainerViewModel = new ServiceProviderListContainerViewModel
            {
                ServiceProviderPagedList       = serviceProviderPagedList,
                ServiceProviderFilterViewModel = serviceProviderFilterViewModel,
                GridSortOptions = sort
            };

            return(View(customerListContainerViewModel));
        }
Пример #29
0
        private void DataGrid_Sorting(object sender, DataGridColumnEventArgs e)
        {
            var grid = (DataGrid)sender;

            e.Column.SortDirection = GetSortDirection(grid, e.Column);

            // Remove sorting indicators from other columns
            foreach (var dgColumn in grid.Columns)
            {
                if (dgColumn != e.Column)
                {
                    dgColumn.SortDirection = null;
                }
            }

            GridSortOptions sortOptions = new GridSortOptions(e.Column.Tag, e.Column.SortDirection);

            ViewModel.SortCommand.Execute(sortOptions);
        }
        /// <summary>
        /// Renders the header text.
        /// </summary>
        /// <param name="column">The column.</param>
        protected override void RenderHeaderText(GridColumn <T> column)
        {
            if (IsSortingEnabled && column.Sortable)
            {
                bool isSortedByThisColumn = GridModel.SortOptions.Column == GenerateSortColumnName(column);

                string sortClass;
                if (isSortedByThisColumn)
                {
                    sortClass = GridModel.SortOptions.Direction == SortDirection.Ascending
                        ? "bcms-sort-arrow-top"
                        : "bcms-sort-arrow-bottom";
                }
                else
                {
                    sortClass = null;
                }

                var displayName = column.DisplayName;

                string sortColumnName = GenerateSortColumnName(column);
                var    sortOptions    = new GridSortOptions
                {
                    Column = sortColumnName
                };

                sortOptions.Direction = (GridModel.SortOptions.Direction == SortDirection.Ascending && isSortedByThisColumn)
                                            ? SortDirection.Descending
                                            : SortDirection.Ascending;

                var link = string.Format("<a class=\"{0} bcms-sort-arrow\" data-column=\"{1}\" data-direction=\"{2}\">{3}</a>",
                                         sortClass,
                                         sortOptions.Column,
                                         sortOptions.Direction,
                                         displayName);

                RenderText(link);
            }
            else
            {
                RenderText(column.DisplayName);
            }
        }