Exemple #1
0
        public async Task <List <Report> > GetReportRegions()
        {
            ListReport = new List <Report>();

            await request.GetRequest("https://covid-19-statistics.p.rapidapi.com/reports");

            using (var response = await client.SendAsync(request.request))
            {
                response.EnsureSuccessStatusCode();
                var bodyData = await response.Content.ReadAsStringAsync();

                DatosReport report = JsonConvert.DeserializeObject <DatosReport>(bodyData);

                ListReport = (from data in report.data
                              group data by data.region.name into agrupacion
                              select new Report
                {
                    region = new Region
                    {
                        name = agrupacion.Key,
                    },
                    confirmed = report.data.FindAll(l => l.region.name == agrupacion.Key).Sum(l => l.confirmed),
                    deaths = report.data.FindAll(l => l.region.name == agrupacion.Key).Sum(l => l.deaths),
                }).OrderByDescending(x => x.confirmed).Take(10).ToList();
            }
            return(ListReport);
        }
Exemple #2
0
        public async Task <List <Report> > GetReportRegionWithProvince(string iso)
        {
            Region region = (await datosRegion.GetRegions()).Find(r => r.iso == iso);

            ListReport = new List <Report>();

            await request.GetRequest($"https://covid-19-statistics.p.rapidapi.com/reports?iso={region.iso}&region_name={region.name}");

            using (var response = await client.SendAsync(request.request))
            {
                response.EnsureSuccessStatusCode();
                var bodyData = await response.Content.ReadAsStringAsync();

                DatosReport report = JsonConvert.DeserializeObject <DatosReport>(bodyData);
                ListReport = report.data.OrderByDescending(r => r.confirmed).Take(10).ToList();
            }
            return(ListReport);
        }