private static SearchRelyingPartiesParameter ToSearchRelyingPartyParameter(IEnumerable <KeyValuePair <string, string> > queries) { var result = new SearchRelyingPartiesParameter(); result.ExtractSearchParameter(queries); return(result); }
public async Task <JObject> Handle(SearchRelyingPartiesParameter parameter, CancellationToken cancellationToken) { var result = await _relyingPartyRepository.Search(parameter, cancellationToken); return(new JObject { { "start_index", result.StartIndex }, { "count", result.Count }, { "total_length", result.TotalLength }, { "content", new JArray(result.Content.Select(c => c.ToDto())) } }); }
public Task <SearchResult <RelyingPartyAggregate> > Search(SearchRelyingPartiesParameter parameter, CancellationToken cancellationToken) { var result = _relyingParties.AsQueryable(); if (MAPPING_RELYINGPARTY_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.InvokeOrderBy(MAPPING_RELYINGPARTY_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); var content = result.ToList(); return(Task.FromResult(new SearchResult <RelyingPartyAggregate> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = content })); }