/// <summary> /// /// </summary> /// <param name="response"></param> private static void SaveResponseMetaData(Objects.Image.Get.Response response) { CurrentPage = response.meta.pagination.page; float pagesDValue = ((float)response.meta.pagination.total_entries / (float)response.meta.pagination.per_page); MaxPages = (int)Math.Ceiling(pagesDValue); }
/// <summary> /// Returns all images. /// </summary> /// <param name="page">optional parameter to get a specific page. default is page 1.</param> /// <returns>a list with the image-objects.</returns> public static async Task <List <Image> > GetAsync(int page = 1) { if ((_maxPages > 0 && (page <= 0 || page > _maxPages))) { throw new InvalidPageException("invalid page number (" + page + "). valid values between 1 and " + _maxPages + ""); } List <Image> imageList = new List <Image>(); string url = string.Format("/images"); if (page > 1) { url += "?page=" + page.ToString(); } string responseContent = await ApiCore.SendRequest(url); Objects.Image.Get.Response response = JsonConvert.DeserializeObject <Objects.Image.Get.Response>(responseContent); // load meta SaveResponseMetaData(response); foreach (Objects.Image.Universal.Image responseServer in response.images) { Image image = GetImageFromResponseData(responseServer); imageList.Add(image); } return(imageList); }