Exemple #1
0
        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));
        }