Ejemplo n.º 1
0
        /// <summary>
        /// Retrieves the list of world regions
        /// </summary>
        /// <returns>RegionsResponse as defined by IUCN API V3</returns>
        public async Task <RegionsResponse> GetRegionsAsync()
        {
            RegionsResponse regions = null;

            HttpResponseMessage response = await mClient.GetAsync(Uri.EscapeUriString(string.Format(IucnRedListApiV3UriFormats.Regions, cToken)));

            if (response.IsSuccessStatusCode)
            {
                regions = await response.Content.ReadAsAsync <RegionsResponse>();
            }

            return(regions);
        }
Ejemplo n.º 2
0
        public static List <Regions> GetRayons(int regionId)
        {
            var url = String.Format("{0}/api/v1/refs/regions/{1}/rayons", Setting.ApiUrl, regionId);

            var             response        = SendDataNotAsync(url, Method.GET);
            RegionsResponse regionsResponse = new RegionsResponse();

            if (response.StatusCode == HttpStatusCode.OK)
            {
                regionsResponse = DeserializeObject <RegionsResponse>(response.Content);
            }

            return(regionsResponse.Data);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            using (IucnRedListApiV3Client client = new IucnRedListApiV3Client())
            {
                RegionsResponse regions = client.GetRegionsAsync().Result;

                if (regions == null)
                {
                    Console.WriteLine("Error ocurred loading the list of regions");
                    Console.ReadKey();
                    return;
                }

                Console.WriteLine("Regions:");

                for (int i = 0; i < regions.Results.Count; i++)
                {
                    Console.WriteLine(string.Format("{0}  {1}", i, regions.Results[i].Name));
                }

                Console.WriteLine();
                Console.WriteLine("Enter number of region");

                string selection = Console.ReadLine();

                int regionNr;

                if (!int.TryParse(selection, out regionNr) ||
                    regionNr < 0 ||
                    regionNr >= regions.Results.Count)
                {
                    Console.WriteLine("Invalid region number");
                    Console.ReadKey();
                    return;
                }

                string region = regions.Results[regionNr].Identifier;

                SpeciesResponse species = client.GetSpeciesRegionalAssesmentsAsync(region, 0).Result;

                if (species == null)
                {
                    Console.WriteLine("Error ocurred loading the list of species");
                    Console.ReadKey();
                    return;
                }

                List <Species> criticallyEndangered = species.Result.Where(s => s.Category == cCriticallyEndangered).ToList();

                Console.WriteLine();
                Console.WriteLine("Critically endangered species:");

                FetchMeasuresAndPrintSpeciesDetails(criticallyEndangered, region, client);

                Console.WriteLine();

                List <Species> mammals = species.Result.Where(s => s.ClassName == cMammals).ToList();

                Console.WriteLine();
                Console.WriteLine("Mammals:");

                FetchMeasuresAndPrintSpeciesDetails(mammals, region, client);

                Console.WriteLine();
            }

            Console.WriteLine("Press any key to quit");

            Console.ReadKey();
        }