public async Task <GenericSearchResult <Role> > SearchRolesAsync(RoleSearchCriteria criteria) { if (criteria == null) { throw new ArgumentNullException(nameof(criteria)); } if (!_roleManager.SupportsQueryableRoles) { throw new NotSupportedException(); } var result = new GenericSearchResult <Role>(); var query = _roleManager.Roles; if (criteria.Keyword != null) { query = query.Where(r => r.Name.Contains(criteria.Keyword)); } result.TotalCount = await query.CountAsync(); var sortInfos = criteria.SortInfos; if (sortInfos.IsNullOrEmpty()) { sortInfos = new[] { new SortInfo { SortColumn = ReflectionUtility.GetPropertyName <Role>(x => x.Name), SortDirection = SortDirection.Descending } }; } result.Results = await query.OrderBySortInfos(sortInfos).Skip(criteria.Skip).Take(criteria.Take).ToArrayAsync(); return(result); }
public OxiteViewModelItems <Role> FindQuery(RoleSearchCriteria searchCriteria) { IEnumerable <Role> foundRoles = roleService.FindRoles(searchCriteria); //TODO: (erikpo) Before the list is set into the model, filter it from the AuthorizationManager class (like make sure anonymous doesn't ever get sent down, etc) OxiteViewModelItems <Role> model = new OxiteViewModelItems <Role>(foundRoles); model.AddModelItem(searchCriteria); return(model); }
public IEnumerable <Role> FindRoles(RoleSearchCriteria criteria) { var query = from r in context.oxite_Roles where (string.IsNullOrEmpty(criteria.RoleName) || r.RoleName.Contains(criteria.RoleName)) && ((criteria.RoleType & RoleType.Site) != RoleType.Site || (r.RoleType & (byte)RoleType.Site) == (byte)RoleType.Site) && ((criteria.RoleType & RoleType.Blog) != RoleType.Blog || (r.RoleType & (byte)RoleType.Blog) == (byte)RoleType.Blog) && ((criteria.RoleType & RoleType.Post) != RoleType.Post || (r.RoleType & (byte)RoleType.Post) == (byte)RoleType.Post) && ((criteria.RoleType & RoleType.Page) != RoleType.Page || (r.RoleType & (byte)RoleType.Page) == (byte)RoleType.Page) orderby r.RoleName select r; return(query.Select(r => projectRole(r)).ToArray()); }
public IEnumerable <Role> FindRoles(RoleSearchCriteria criteria) { return(repository.FindRoles(criteria).ToArray()); }
public async Task <ActionResult> SearchRoles(RoleSearchCriteria request) { var result = await _roleSearchService.SearchRolesAsync(request); return(Ok(result)); }
public async Task <ActionResult <RoleSearchResult> > SearchRolesObsolete([FromBody] RoleSearchCriteria request) { var result = await _roleSearchService.SearchRolesAsync(request); return(Ok(result)); }
private Expression <Func <Role, bool> > ExtendExpressionWithSearchCriteria(Expression <Func <Role, bool> > predicate, RoleSearchCriteria searchCriteria) { return(predicate .And(searchCriteria.AnimeId != null && searchCriteria.AnimeId.Count > 0, () => role => searchCriteria.AnimeId.Contains(role.AnimeId.Value)) .And(searchCriteria.RoleTypeId.HasValue && searchCriteria.RoleTypeId.Value > 0, () => role => searchCriteria.RoleTypeId.Equals(role.RoleTypeId.Value))); }
public Expression <Func <Role, bool> > BuildExpression(RoleSearchCriteria searchCriteria) { var predicate = PredicateBuilder.True <Role>(); return(searchCriteria != null?ExtendExpressionWithSearchCriteria(predicate, searchCriteria) : predicate); }
public Task <ActionResult <RoleSearchResult> > SearchRolesObsolete([FromBody] RoleSearchCriteria request) { return(SearchRoles(request)); }