public GridJsonNetJObjectResult <Person> IndexGridJsonData(IndexGridSpec.UsersStatusFilterTypeEnum usersStatusFilterType) { var gridSpec = new IndexGridSpec(CurrentFirmaSession); var persons = HttpRequestStorage.DatabaseEntities.People.Include(x => x.Organization) .Include(x => x.OrganizationsWhereYouAreThePrimaryContactPerson).ToList().Where(x => new UserViewFeature().HasPermission(CurrentFirmaSession, x).HasPermission); switch (usersStatusFilterType) { case IndexGridSpec.UsersStatusFilterTypeEnum.ActiveUsers: persons = persons.Where(x => x.IsActive); break; case IndexGridSpec.UsersStatusFilterTypeEnum.AllUsers: break; default: throw new ArgumentOutOfRangeException("usersStatusFilterType", usersStatusFilterType, null); } var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <Person>(persons.OrderBy(x => x.GetFullNameLastFirst()).ToList(), gridSpec); return(gridJsonNetJObjectResult); }
public ViewResult Index() { const IndexGridSpec.UsersStatusFilterTypeEnum filterTypeEnum = IndexGridSpec.UsersStatusFilterTypeEnum.ActiveUsers; return(ViewIndex(SitkaRoute <UserController> .BuildUrlFromExpression(x => x.IndexGridJsonData(filterTypeEnum)))); }