public IEnumerable GetAllNewsItems(int pageSize, int pageNumber) { var news = _newsItemRepository.GetAllNewsItems(); var newsSize = news.Count(); if ((newsSize / pageSize) < pageNumber) { throw new ArgumentOutOfRangeException("Invalid page number."); } var newsEnvelope = new Envelope <NewsItemDto>(pageNumber, pageSize, news); if (newsEnvelope == null) { throw new ResourceNotFoundException("No news items were found."); } List <NewsItemDto> returnList = new List <NewsItemDto>(); foreach (var newsItem in newsEnvelope.Items.ToList()) { AddLinksToNewsItems(newsItem, newsItem.Id); returnList.Add(newsItem); } return(returnList); }
public IEnumerable <NewsItemDto> GetAllNewsItems() { var newsItems = _newsItemRepository.GetAllNewsItems().ToList(); newsItems.ForEach(r => { r.Links.AddReference("self", $"/api/{r.Id}"); r.Links.AddReference("edit", $"/api/{r.Id}"); r.Links.AddReference("delete", $"/api/{r.Id}"); r.Links.AddListReference("authors", _authorRepository.GetAuthorsOfNewsItem(r.Id).Select(a => new { href = $"/api/authors/{a.Id}" })); r.Links.AddListReference("categories", _categoryRepository.getCategoriesForNewsItem(r.Id).Select(c => new { href = $"/api/categories/{c}" })); }); return(newsItems); }
public List <NewsItemDto> GetAllNewsItems() { var newsItems = _newsItemRepo.GetAllNewsItems().ToList(); newsItems.ForEach(n => { n.Links.AddReference("self", new JObject { new JProperty("href", $"/api/{n.Id}") }); n.Links.AddReference("edit", new JObject { new JProperty("href", $"/api/{n.Id}") }); n.Links.AddReference("delete", new JObject { new JProperty("href", $"/api/{n.Id}") }); n.Links.AddListReference("authors", _authorRepo.GetAuthorsByNewsItemId(n.Id).Select(a => new { href = $"api/authors/{a.AuthorId}" })); n.Links.AddListReference("categories", _categoryRepo.GetCategoriesByNewsItemId(n.Id).Select(c => new { href = $"api/categories/{c.CategoryId}" })); }); return(newsItems); }
public Envelope <NewsItemDto> GetAllNewsItems(int pageSize, int pageNumber) { var newsItems = _newsItemRepository.GetAllNewsItems(pageSize, pageNumber); var newsList = newsItems.ToList(); var skip = (pageNumber * pageSize) - pageSize; var items = newsList.Skip(skip).Take(pageSize); var maxPages = (int)(Math.Ceiling(newsItems.Count() / (decimal)pageSize)); foreach (NewsItemDto item in items) { int itemId = item.Id; int authorId = _newsItemRepository.GetLinkedAuthorId(item.Id); int categoryId = _newsItemRepository.GetLinkedCategoryId(item.Id); Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("href", $"api/{itemId}"); Dictionary <string, string> authorDict = new Dictionary <string, string>(); authorDict.Add("href", $"api/authors/{authorId}"); Dictionary <string, string> categoryDict = new Dictionary <string, string>(); categoryDict.Add("href", $"api/categories/{categoryId}"); item.Links.AddReference("self", dict); item.Links.AddReference("edit", dict); item.Links.AddReference("delete", dict); item.Links.AddReference("authors", authorDict); item.Links.AddReference("categories", categoryDict); dict = null; } Envelope <NewsItemDto> envelope = new Envelope <NewsItemDto>(); envelope.PageNumber = pageNumber; envelope.PageSize = pageSize; envelope.Items = items; envelope.maxPages = maxPages; return(envelope); }
public Envelope <NewsItemDto> GetAllNewsitems(int pageNumber, int pageSize) { var newsItems = _newsItemRepository.GetAllNewsItems().ToList(); newsItems.ForEach(r => { var authorIds = _newsItemRepository.GetAllAuthorIdByNewsItemId(r.Id).ToList(); var categoryIds = _categoryRepository.GetAllCategoriesIdByNewsItemId(r.Id).ToList(); r.Links.AddReference("self", $"api/{r.Id}"); r.Links.AddReference("edit", $"api/{r.Id}"); r.Links.AddReference("delete", $"api/{r.Id}"); authorIds.ForEach(s => { r.Links.AddReference("authors", $"api/authors/{s}"); }); categoryIds.ForEach(s => { r.Links.AddReference("categories", $"api/authors/{s}"); }); }); var envelope = new Envelope <NewsItemDto>(pageNumber, pageSize, newsItems); return(envelope); }
public IEnumerable <NewsItemDto> getAllNewsItems() { return(_newsItemRepository.GetAllNewsItems()); }
public IEnumerable <NewsItemDto> GetAllNewsItems(int id) { return(_newsItemRepository.GetAllNewsItems(id)); }