Пример #1
0
        public async Task <IActionResult> GetNews([FromQuery] NewsParamsDto newsParams)
        {
            var newsFromRepo = await _dbContext.News.Include(a => a.Author)
                               .Include(p => p.Photo).OrderByDescending(x => x.AddedAt).ToListAsync();

            if (newsParams.Section != "all")
            {
                newsFromRepo = newsFromRepo.Where(s => s.Section == newsParams.Section).ToList();
            }

            if (newsFromRepo.Any())
            {
                if (Int32.TryParse(newsParams.PageSize.ToString(), out int size) && Int32.TryParse(newsParams.PageNumber.ToString(), out int part))
                {
                    List <NewsForPanelDto> newsToReturn = NewsForPanelDto.Map(newsFromRepo.Skip(part * size).Take(size).ToList());

                    return(Ok(newsToReturn));
                }
                else
                {
                    throw new Exception("invalid params");
                }
            }
            else
            {
                return(NoContent());
            }
        }
Пример #2
0
        public async Task <IActionResult> GetNews([FromQuery] NewsParamsDto newsParams)
        {
            List <News> newsFromRepo = await _dbContext.News.Include(p => p.Photo)
                                       .Where(n => n.Section == newsParams.Section.ToString())
                                       .OrderByDescending(n => n.AddedAt).ToListAsync();

            if (newsFromRepo.Any())
            {
                if (Int32.TryParse(newsParams.PageSize.ToString(), out int size) && Int32.TryParse(newsParams.PageNumber.ToString(), out int part))
                {
                    var temp = newsFromRepo.Skip(part * size).Take(size).ToList();
                    List <NewsForSectionDto> newsToReturn = NewsForSectionDto.Map(temp);

                    if (newsToReturn == null)
                    {
                        return(Ok());
                    }

                    return(Ok(newsToReturn));
                }
                else
                {
                    throw new Exception("invalid params");
                }
            }
            else
            {
                return(NoContent());
            }
        }