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()); }
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()); }