public async Task <ActionResult> GetPayments() { logger.LogInformation(LoggingEvents.ListItems, "List payments"); var payments = await paymentService.GetAllAsync(); var wrapper = new LinkedCollectionResourceWrapper <PaymentModel>(payments); return(Ok(CreateLinksForPayment(wrapper))); }
private LinkedCollectionResourceWrapper <BookDto> CreateLinksForBooks( LinkedCollectionResourceWrapper <BookDto> booksWrapper) { booksWrapper.Links.Add( new Link(_urlHelper.Link("GetBooks", new { }), "self", "GET")); return(booksWrapper); }
private LinkedCollectionResourceWrapper <PhotographerDto> CreateLinksForPhotographers( LinkedCollectionResourceWrapper <PhotographerDto> photographersWrapper) { photographersWrapper.Links.Add( new Link(_urlHelper.Link("GetPhotographer", new { }), "self", "GET")); return(photographersWrapper); }
private LinkedCollectionResourceWrapper <PaymentModel> CreateLinksForPayment(LinkedCollectionResourceWrapper <PaymentModel> wrapper) { wrapper.Links.Add( new Link() { Rel = "self", Href = urlHelper.Link(nameof(GetPayments), new { }), Action = "GET", Types = new string[] { "application/json" } }); return(wrapper); }
public IActionResult GetBooksForAuthor(Guid authorId) { if (!_libraryRepository.AuthorExists(authorId)) { return(NotFound()); } var books = _libraryRepository.GetBooksForAuthor(authorId); var results = Mapper.Map <IEnumerable <Book> >(books); results = results.Select(book => { book = CreateLinks(book); return(book); }); var wrapper = new LinkedCollectionResourceWrapper <Book>(results); return(Ok(CreateLinks(wrapper))); }
public IActionResult GetBooks(Guid photographerId) { if (!_magnumPhotosRepository.PhotographerExists(photographerId)) { return(NotFound()); } var booksFromRepo = _magnumPhotosRepository.GetBooks(photographerId); var books = Mapper.Map <IEnumerable <BookDto> > (booksFromRepo); books = books.Select(book => { book = CreateLinksForBook(book); return(book); }); var wrapper = new LinkedCollectionResourceWrapper <BookDto> (books); return(Ok(CreateLinksForBooks(wrapper))); }
public IActionResult GetPhotographers(PhotographersResourceParameters photographersResourceParameters) { if (!_propertyMappingService.ValidMappingExistsFor <PhotographerDto, Photographer> (photographersResourceParameters.OrderBy)) { return(BadRequest()); } var photographersFromRepo = _magnumPhotosRepository.GetPhotographers(photographersResourceParameters); var previousPageLink = photographersFromRepo.HasPrevious ? CreatePhotographersResourceUri(photographersResourceParameters, ResourceUriType.PreviousPage) : null; var nextPageLink = photographersFromRepo.HasNext ? CreatePhotographersResourceUri(photographersResourceParameters, ResourceUriType.NextPage) : null; var paginationMetadata = new { totalCount = photographersFromRepo.TotalCount, pageSize = photographersFromRepo.PageSize, currentPage = photographersFromRepo.CurrentPage, totalPages = photographersFromRepo.TotalPages, previousPageLink = previousPageLink, nextPageLink = nextPageLink }; Response.Headers.Add("X-Pagination", Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata)); var photographers = Mapper.Map <IEnumerable <PhotographerDto> > (photographersFromRepo); var wrapper = new LinkedCollectionResourceWrapper <PhotographerDto> (photographers); return(Ok(CreateLinksForPhotographers(wrapper))); }
private LinkedCollectionResourceWrapper <Book> CreateLinks(LinkedCollectionResourceWrapper <Book> booksWrapper) { booksWrapper.Links.Add(new Link(_urlHelper.Link(nameof(GetBookForAuthor), new { }), "self", "GET")); return(booksWrapper); }