Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
 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));
        }
Esempio n. 6
0
        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));
 }