Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }