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() })); }
public Task <SearchResult <Token> > SearchTokens(SearchTokenParameter parameter, CancellationToken cancellationToken) { return(_tokenQueryRepository.Find(parameter, cancellationToken)); }