public Task <SearchResult <DelegateConfigurationResult> > Search(SearchDelegateConfigurationQuery parameter, CancellationToken cancellationToken) { IQueryable <DelegateConfigurationAggregate> result = _delegateConfigurationAggregates.AsQueryable(); if (MAPPING_DELEGATECONFIGURATION_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy)) { result = result.InvokeOrderBy(MAPPING_DELEGATECONFIGURATION_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order); } int totalLength = result.Count(); result = result.Skip(parameter.StartIndex).Take(parameter.Count); var content = result.ToList(); content = content.OrderByDescending(r => r.Version).GroupBy(r => r.AggregateId).Select(r => r.First()).ToList(); return(Task.FromResult(new SearchResult <DelegateConfigurationResult> { StartIndex = parameter.StartIndex, Count = parameter.Count, TotalLength = totalLength, Content = content.Select(_ => DelegateConfigurationResult.ToDto(_)).ToList() })); }
public Task <SearchResult <DelegateConfigurationResult> > Handle(SearchDelegateConfigurationQuery request, CancellationToken cancellationToken) { return(_delegateConfigurationRepository.Search(request, cancellationToken)); }
public async Task <IActionResult> Search([FromBody] SearchDelegateConfigurationQuery query, CancellationToken token) { var result = await _mediator.Send(query, token); return(new OkObjectResult(result)); }