Пример #1
0
        /// <summary>
        /// Get People from SWAPI
        /// </summary>
        private static List <PeopleResponseItemModel> GetAllPeople(string baseUrl)
        {
            var peopleItems = new List <PeopleResponseItemModel>();

            var people =
                HttpRequestsHelper.ExecuteGetRequest <PeopleResponse>(baseUrl.Replace("{{::Placeholder::}}", "people")) as PeopleResponse;

            if (people != null)
            {
                peopleItems.AddRange(people.results);

                //If more than 10 items exists, API provides data in different pages. This loop is to get all available pages for the object
                if (people.count > 10)
                {
                    var url   = people.next;
                    var pages = people.count / 10 + 1;

                    for (int i = 1; i < pages; i++)
                    {
                        people = HttpRequestsHelper.ExecuteGetRequest <PeopleResponse>(url) as PeopleResponse;
                        url    = people.next;
                        peopleItems.AddRange(people.results);
                        if (string.IsNullOrEmpty(people.next))
                        {
                            break;
                        }
                    }
                }
            }

            return(peopleItems);
        }
Пример #2
0
        /// <summary>
        /// Get Films from SWAPI
        /// </summary>
        private static List <FilmResponseItemModel> GetFilms(string baseUrl)
        {
            var firmItems = new List <FilmResponseItemModel>();
            var films     = HttpRequestsHelper.ExecuteGetRequest <FilmsResponse>(baseUrl.Replace("{{::Placeholder::}}", "films")) as FilmsResponse;

            if (films != null)
            {
                firmItems.AddRange(films.results);

                //If more than 10 items exists, API provides data in different pages. This loop is to get all available pages for the object
                if (films.count > 10)
                {
                    var url   = films.next;
                    var pages = films.count / 10 + 1;

                    for (int i = 1; i < pages; i++)
                    {
                        films = HttpRequestsHelper.ExecuteGetRequest <FilmsResponse>(url) as FilmsResponse;
                        url   = films.next;
                        firmItems.AddRange(films.results);
                        if (string.IsNullOrEmpty(films.next))
                        {
                            break;
                        }
                    }
                }
            }

            return(firmItems);
        }