Exemplo n.º 1
0
        public async Task <IActionResult> Advanced(
            [FromQuery] string website,
            [FromQuery] string query,
            [FromQuery] IEnumerable <string> tags,
            [FromQuery] uint page,
            [FromQuery] uint count)
        {
            if (count > 0)
            {
                return(await Execute(async() =>
                {
                    var labels = (tags ?? Enumerable.Empty <string>()).ToArray();
                    var news = await _draftRepository.Get(website, query, labels, (int)page, (int)count);
                    var newsDtos = _mapper.Map <IEnumerable <NewsDto> >(news);

                    return new NewsResponseListDto
                    {
                        News = newsDtos,
                        Count = await _draftRepository.Count(website, query, labels)
                    };
                }));
            }

            return(BadRequest());
        }
Exemplo n.º 2
0
        private async Task <IActionResult> GetNews(Func <int, int, Task <IEnumerable <Draft> > > getDraftsFunc, uint page, uint count)
        {
            if (count > 0)
            {
                return(await Execute(async() =>
                {
                    var news = await getDraftsFunc((int)page, (int)count);
                    var dtos = _mapper.Map <IEnumerable <NewsDto> >(news);
                    return new NewsResponseListDto
                    {
                        News = dtos,
                        Count = await _draftRepository.Count()
                    };
                }));
            }

            return(BadRequest());
        }