Ejemplo n.º 1
0
 public MovieViewModel(SwapiResult result)
 {
     this.EpisodeId    = result.EpisodeId;
     this.OpeningCrawl = result.OpeningCrawl;
     this.Producer     = result.Producer;
     this.Director     = result.Director;
     this.ReleaseDate  = result.ReleaseDate;
     this.Title        = result.Title;
 }
Ejemplo n.º 2
0
        public async Task <SwapiResult> SearchSwapiPeople(string search)
        {
            SwapiResult swapiResult = new SwapiResult();

            using (var httpClient = new HttpClient())
            {
                var apiEndPoint = "https://swapi.dev/api/people/?search=" + search;
                httpClient.BaseAddress = new Uri(apiEndPoint);
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var responseMessage = await httpClient.GetAsync(apiEndPoint);

                if (responseMessage.IsSuccessStatusCode)
                {
                    var jsonContent = await responseMessage.Content.ReadAsStringAsync();

                    swapiResult = JsonConvert.DeserializeObject <SwapiResult>(jsonContent);

                    while (swapiResult.next != null)
                    {
                        var swapiMesage = await httpClient.GetAsync(swapiResult.next);

                        if (swapiMesage.IsSuccessStatusCode)
                        {
                            var swapiJsonContent = await swapiMesage.Content.ReadAsStringAsync();

                            var people = JsonConvert.DeserializeObject <SwapiResult>(swapiJsonContent);

                            swapiResult.results.AddRange(people.results);

                            swapiResult.next = people.next;
                        }
                    }
                }
            }

            return(swapiResult);
        }