public PagedMediaRecords GetPagedMediaRecords(ApiResponse <List <MediaRecord> > mediaRecords) { foreach (var mr in mediaRecords.ResponseData) { mr.ImageLink = mr.Links.FirstOrDefault(l => l.Rel == "Thumbnail").Href; } ; PaginationDetails paginationDetails = new PaginationDetails(); var paginationHeader = mediaRecords.ResponseHeaders.Where(a => a.Key == "X-Pagination") .FirstOrDefault().Value; if (paginationHeader != null) { paginationDetails = JsonConvert.DeserializeObject <PaginationDetails>(paginationHeader.FirstOrDefault()); } PagedMediaRecords pagedMediaRecords = new PagedMediaRecords() { PaginationDetails = paginationDetails, MediaRecords = mediaRecords.ResponseData }; return(pagedMediaRecords); }
public async Task <IActionResult> SearchResults(string apiUrl, int pageNumber = 1, int pageSize = 5) { //TODO Use common methods if (apiUrl == null) { apiUrl = $"https://localhost:44300/api/v1/archives/9/mediarecords?pagesize={pageSize}&pagenumber={pageNumber}"; } var responseObject = await HttpClientHelper.GetFromLMARApi <List <MediaRecord> >(apiUrl); List <MediaRecord> mediaRecords = responseObject.ResponseData; if (mediaRecords == null) { return(NotFound()); } foreach (var mr in mediaRecords) { mr.ImageLink = mr.Links.FirstOrDefault(l => l.Rel == "Thumbnail").Href; } ; PaginationDetails paginationDetails = new PaginationDetails(); var paginationHeader = responseObject.ResponseHeaders.Where(a => a.Key == "X-Pagination") .FirstOrDefault().Value; if (paginationHeader != null) { paginationDetails = JsonConvert.DeserializeObject <PaginationDetails>(paginationHeader.FirstOrDefault()); } PagedMediaRecords pagedMediaRecords = new PagedMediaRecords() { PaginationDetails = paginationDetails, MediaRecords = mediaRecords }; return(View(pagedMediaRecords)); }