public Task <List <Maraphone> > SearchAsync(MaraphoneInfoSearchQuery query, CancellationToken cancellationToken) { if (query == null) { throw new ArgumentNullException(nameof(query)); } cancellationToken.ThrowIfCancellationRequested(); var search = maraphones.AsQueryable().ToEnumerable(); if (query.Offset != null) { search = search.Skip(query.Offset.Value); } if (query.Limit != null) { search = search.Take(query.Limit.Value); } var result = search.ToList(); return(System.Threading.Tasks.Task.FromResult(result)); }
public async Task <IActionResult> SearchAsync([FromQuery] MaraphoneInfoSearchQuery infoSearchQuery, CancellationToken cancellationToken) { if (infoSearchQuery == null) { var error = ServiceErrorResponses.InvalidQuery("MaraphoneInfoSearchQuery"); return(this.BadRequest(error)); } var modelMaraphones = await maraphoneRepository.SearchAsync(infoSearchQuery, cancellationToken); var clientMaraphones = modelMaraphones.Select(MaraphoneConverter.Convert).ToList(); var clientMaraphonesList = new MaraphoneList { Maraphones = clientMaraphones }; return(Ok(clientMaraphonesList)); }