Exemplo n.º 1
0
        public Task <SearchResult <Token> > Find(SearchTokenParameter parameter, CancellationToken token)
        {
            var filtered = _tokens.AsQueryable();

            if (!string.IsNullOrWhiteSpace(parameter.TokenType))
            {
                filtered = filtered.Where(_ => _.TokenType == parameter.TokenType);
            }

            if (!string.IsNullOrWhiteSpace(parameter.AuthorizationCode))
            {
                filtered = filtered.Where(_ => _.AuthorizationCode == parameter.AuthorizationCode);
            }

            if (!string.IsNullOrWhiteSpace(parameter.ClientId))
            {
                filtered = filtered.Where(_ => _.ClientId == parameter.ClientId);
            }

            filtered = filtered.OrderByDescending(_ => _.CreateDateTime);
            int totalResult = filtered.Count();
            var result      = filtered.Skip(parameter.StartIndex).Take(parameter.Count);

            return(Task.FromResult(new SearchResult <Token>
            {
                Content = result.ToList(),
                TotalLength = totalResult,
                StartIndex = parameter.StartIndex,
                Count = result.Count()
            }));
        }
Exemplo n.º 2
0
 public Task <SearchResult <Token> > SearchTokens(SearchTokenParameter parameter, CancellationToken cancellationToken)
 {
     return(_tokenQueryRepository.Find(parameter, cancellationToken));
 }