public ActionResult Index(UserListModelFilter userListModelFilter = null, int pageNumber = 1) { int totalRecords; var userListModelPaged = _usersListModelRepository.GetUserListModelPaged(pageNumber, PAGE_SIZE, userListModelFilter, out totalRecords); userListModelPaged.Filter = userListModelFilter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, userListModelFilter.Keyword, userListModelFilter.Roles, userListModelFilter.ActiveUser, userListModelFilter.InActiveUser, userListModelFilter.UserType }); userListModelPaged.PagingModel = new PagingModel(pageNumber, PAGE_SIZE, totalRecords, urlFunc); return(View(userListModelPaged)); }
// // GET: /Users/ExportableReports/ public void GetUserListAsync(string id = null, UserListModelFilter filter = null) { if (id == null) { return; } AsyncManager.OutstandingOperations.Increment(); var dataGen = new ExportableDataGenerator <UserBasicInfoModel, UserListModelFilter>(_usersListModelRepository.GetUserListModelPaged); var processmanager = new ExportableDataGeneratorProcessManager <UserBasicInfoModel, UserListModelFilter>(); processmanager.Add(id, dataGen); GetNewProcessStarted(filter, dataGen, id); }
private static IQueryable <OrganizationRoleUserEntity> BuildQuery(UserListModelFilter filter, LinqMetaData linqMetaData) { var orgQuery = from u in linqMetaData.User join ul in linqMetaData.UserLogin on u.UserId equals ul.UserLoginId join a in linqMetaData.OrganizationRoleUser on u.UserId equals a.UserId where ((filter != null && filter.ActiveUser && !filter.InActiveUser) ? u.IsActive : (filter != null && !filter.ActiveUser && filter.InActiveUser) ? !u.IsActive : true) orderby u.FirstName select new { oru = a, u, ul }; if (filter != null) { if (filter.Keyword != null) { orgQuery = orgQuery.Where(oru => (oru.u.Email1.Contains(filter.Keyword) || oru.ul.UserName == filter.Keyword || ((oru.u.FirstName + (oru.u.MiddleName.Length > 0 ? " " + oru.u.MiddleName + " " : " ") + oru.u.LastName).Contains(filter.Keyword)))); } if (filter.Roles > 0) { orgQuery = orgQuery.Where(oru => oru.oru.RoleId == filter.Roles && oru.oru.IsActive); } else { orgQuery = orgQuery.Where(oru => oru.u.DefaultRoleId == oru.oru.RoleId); } if (filter.UserType == UserType.CustomerOnly) { orgQuery = orgQuery.Where(oru => oru.oru.RoleId == (long)Roles.Customer); } else if (filter.UserType == UserType.SystemUserOnly) { orgQuery = orgQuery.Where(oru => oru.oru.RoleId != (long)Roles.Customer); } } return(orgQuery.OrderBy(oru => oru.u.FirstName).Select(oru => oru.oru).WithPath(prefetchPath => prefetchPath.Prefetch(oru => oru.Organization).Prefetch(oru => oru.Role))); }