示例#1
0
        public static async Task <List <string> > LoadBreedList()
        {
            ///TODO : À compléter LoadBreedList
            /// Attention le type de retour n'est pas nécessairement bon
            /// J'ai mis quelque chose pour avoir une base
            /// TODO : Compléter le modèle manquant
            /// //https://dog.ceo/api/breeds/list/all pour la liste de toutes les races de l'Api
            /// message aura les breeds
            /// //https://dog.ceo/api/breed/ [message]/ images / random      Format de requete à utiliser
            ///
            string url = $"https://dog.ceo/api/breeds/list/all";

            using (HttpResponseMessage response = await ApiHelper.ApiClient.GetAsync(url))
            {
                if (response.IsSuccessStatusCode)
                {
                    DogBreedsModel result = await response.Content.ReadAsAsync <DogBreedsModel>();

                    var breeds = result.DogBreeds.Keys.ToList();
                    return(breeds);
                }
                else
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }
        }
        public static async Task <ObservableCollection <string> > LoadBreedsList()
        {
            ///TODO : À compléter LoadBreedList
            /// Attention le type de retour n'est pas nécessairement bon
            /// J'ai mis quelque chose pour avoir une base
            /// TODO : Compléter le modèle manquant
            ///

            string url = "https://dog.ceo/api/breeds/list/all";

            using (HttpResponseMessage response = await ApiHelper.ApiClient.GetAsync(url))
            {
                if (response.IsSuccessStatusCode)
                {
                    ObservableCollection <string> breeds = new ObservableCollection <string>();
                    DogBreedsModel result = await response.Content.ReadAsAsync <DogBreedsModel>();

                    foreach (string breed in result.Breeds.Keys)
                    {
                        breeds.Add(breed);
                        if (result.Breeds[breed].Count > 0)
                        {
                            foreach (string sb in result.Breeds[breed])
                            {
                                breeds.Add(breed + '/' + sb);
                            }
                        }
                    }

                    return(breeds);


                    //var enfant = result.Families.Values.ToList();
                    //var familles = result.Families.Keys.ToList();
                    //return familles;
                }
                else
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }
        }
        public static async Task <List <string> > LoadBreedList()
        {
            ///TODO : À compléter LoadBreedList
            /// Attention le type de retour n'est pas nécessairement bon
            /// J'ai mis quelque chose pour avoir une base
            /// TODO : Compléter le modèle manquant

            //return new List<string>();
            string url = "https://dog.ceo/api/breeds/list/all";

            using (HttpResponseMessage response = await ApiHelper.ApiClient.GetAsync(url))
            {
                if (response.IsSuccessStatusCode)
                {
                    DogBreedsModel result = await response.Content.ReadAsAsync <DogBreedsModel>();

                    var races = new List <string>();
                    foreach (var breed in result.Breeds)
                    {
                        if (breed.Value.Count > 0)
                        {
                            foreach (var underBreed in breed.Value)
                            {
                                races.Add(breed.Key + "/" + underBreed);
                            }
                        }
                        else
                        {
                            races.Add(breed.Key);
                        }
                    }
                    return(races);
                }
                else
                {
                    throw new Exception(response.ReasonPhrase);
                }
            }
        }