public async Task <IActionResult> Get(int from = 0, int count = 20)
        {
            try
            {
                List <GetNewsResponse> responseList = new List <GetNewsResponse>();
                var query = new GetNewsAll();
                foreach (News news in await _mediator.Send(query))
                {
                    if (news.PlainText != null)
                    {
                        responseList.Add(new GetNewsResponse
                        {
                            Id      = news.ID,
                            Article = news.Article,
                            Body    = news.Body,
                            Source  = news.Source,
                            Rating  = news.WordRating
                        });
                    }
                }
                return(Ok(
                           responseList
                           .OrderByDescending(rl => rl.Rating)
                           .Skip(from).ToList()
                           .Take(count)
                           ));
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <IActionResult> GetAll()
        {
            try
            {
                List <GetNewsResponse> responseList = new List <GetNewsResponse>();
                var query = new GetNewsAll();
                foreach (News news in await _mediator.Send(query))
                {
                    responseList.Add(new GetNewsResponse
                    {
                        Id      = news.ID,
                        Article = news.Article,
                        Body    = news.Body,
                        Source  = news.Source,
                        Rating  = news.WordRating
                    });
                }

                if (responseList.Any())
                {
                    return(Ok(responseList));
                }
                else
                {
                    return(StatusCode(404));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }
예제 #3
0
 public async Task <IEnumerable <News> > Handle(GetNewsAll query, CancellationToken token)
 {
     return(await _context.News.ToListAsync());
 }