Beispiel #1
0
        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));
 }
Beispiel #3
0
        public async Task <IActionResult> Search([FromBody] SearchDelegateConfigurationQuery query, CancellationToken token)
        {
            var result = await _mediator.Send(query, token);

            return(new OkObjectResult(result));
        }