private IPagedList<LibraryItem> GetLibraryItemsArrivals() { var mediatheekArrivalSearch = new MediatheekSimpleSearch { LibraryCode = "MAR", SearchField = "css", ItemsPerPage = 20, Offset = 0, SortOrder = MediatheekSortOrder.Relavance }; var model = _mediatheekService.GetLibraryItemsBySimpleSearch(mediatheekArrivalSearch); return model; }
//Construct SimpleSearch Url private string ConstructSimpleSearchUrl(MediatheekSimpleSearch search) { if (search.SearchField == null || search.SearchField == String.Empty) { return null; } string searchFields = "zk#" + "search_callback" + "#" + search.LibraryCode + "#" + search.Offset + "#" + search.ItemsPerPage + "#s" + (int)search.SortOrder + "s#" + search.SearchField + " "; return ConstructURL(searchFields); }
public IPagedList<LibraryItem> GetLibraryItemsBySimpleSearch(MediatheekSimpleSearch search) { string url = ConstructSimpleSearchUrl(search); if(url == null) { return null; } using (HttpClient client = new HttpClient()) { string result = client.GetStringAsync(url).Result; if (result == null) return null; int page = Convert.ToInt32(Math.Floor(Convert.ToDecimal(search.Offset/search.ItemsPerPage) + 1)); return ConvertSimpleSearchToPagedList(result, page, search.ItemsPerPage); } }