protected int SetupGridParams(GridModel model) { if (string.IsNullOrWhiteSpace(model.Searchfor)) model.Searchfor = "null"; if (string.IsNullOrWhiteSpace(model.SortKey)) model.SortKey = string.Empty; if (string.IsNullOrWhiteSpace(model.SortOrder)) model.SortOrder = "ASC"; model.SortKey = model.SortKey.ToLower(); if (model.CurrentPage == null) model.CurrentPage = 1; if (model.RecordsPerPage == null) model.RecordsPerPage = 100; int begin = (model.CurrentPage.Value - 1) * model.RecordsPerPage.Value; return begin; }
public GridResultModel<UserGridModel> UserGrid(GridModel model) { int begin = SetupGridParams(model); var filteredQuery = SecurityProvider.GetUserList().Select(a => new UserGridModel() { Id = a.Id, UserName = a.UserName, FirstName = a.FirstName, Surname = a.Surname, Email = a.Email }); //SecurityProvider.GetUserList() if (model.Searchfor != "null") { filteredQuery = filteredQuery.Where(r => r.UserName.Contains(model.Searchfor) || r.FirstName.Contains(model.Searchfor) || r.Surname.Contains(model.Searchfor) || r.Email.Contains(model.Searchfor) ); } //Get Reord count var totalNumberOfRecords = filteredQuery.Count(); if (String.IsNullOrWhiteSpace(model.SortKey)) filteredQuery = filteredQuery.OrderBy(a => a.UserName); //default sort order if (!String.IsNullOrWhiteSpace(model.SortKey)) model.SortKey = model.SortKey.ToLower(); //Setup sort order switch (model.SortOrder) { case "ASC": switch (model.SortKey) { case "username": filteredQuery = filteredQuery.OrderBy(r => r.UserName); break; case "type": filteredQuery = filteredQuery.OrderBy(r => r.Type); break; case "email": filteredQuery = filteredQuery.OrderBy(r => r.Email); break; case "firstname": filteredQuery = filteredQuery.OrderBy(r => r.FirstName); break; case "surname": filteredQuery = filteredQuery.OrderBy(r => r.Surname); break; } break; case "DESC": switch (model.SortKey) { case "username": filteredQuery = filteredQuery.OrderByDescending(r => r.UserName); break; case "type": filteredQuery = filteredQuery.OrderByDescending(r => r.Type); break; case "email": filteredQuery = filteredQuery.OrderByDescending(r => r.Email); break; case "firstname": filteredQuery = filteredQuery.OrderByDescending(r => r.FirstName); break; case "surname": filteredQuery = filteredQuery.OrderByDescending(r => r.Surname); break; } break; } //setup paging filteredQuery = filteredQuery.Skip(begin).Take(model.RecordsPerPage.Value); return new GridResultModel<UserGridModel>(filteredQuery.ToList(), totalNumberOfRecords); }
public GridResultModel<RoleGridModel> RoleGrid(GridModel model) { int begin = SetupGridParams(model); var filteredQuery = SecurityProvider.GetRoles() .Select(a => new RoleGridModel() { Id = a.Id, RoleName = a.RoleName, Description = a.Description, StatusTypes = a.Status }); if (model.Searchfor != "null") { filteredQuery = filteredQuery.Where( r => r.RoleName.Contains(model.Searchfor) || r.Description.Contains(model.Searchfor)); } //Get Reord count var totalNumberOfRecords = filteredQuery.Count(); if (String.IsNullOrWhiteSpace(model.SortKey)) filteredQuery = filteredQuery.OrderBy(a => a.RoleName); //default sort order if (!String.IsNullOrWhiteSpace(model.SortKey)) model.SortKey = model.SortKey.ToLower(); switch (model.SortOrder) { case "ASC": switch (model.SortKey) { case "rolename": filteredQuery = filteredQuery.OrderBy(r => r.RoleName); break; case "description": filteredQuery = filteredQuery.OrderBy(r => r.Description); break; case "status": filteredQuery = filteredQuery.OrderBy(r => r.StatusTypes); break; } break; case "DESC": switch (model.SortKey) { case "rolename": filteredQuery = filteredQuery.OrderByDescending(r => r.RoleName); break; case "description": filteredQuery = filteredQuery.OrderByDescending(r => r.Description); break; case "status": filteredQuery = filteredQuery.OrderByDescending(r => r.StatusTypes); break; } break; } filteredQuery = filteredQuery.Skip(begin).Take(model.RecordsPerPage.Value); return new GridResultModel<RoleGridModel>(filteredQuery.ToList(), totalNumberOfRecords); }