コード例 #1
0
        private async Task <List <GraphRecord> > GetTotalCasesDonePerDayAsync()
        {
            var casesRecorded = (await TestCasesService.GetCummilativeCases()).ToList();
            var casesPerDay = new[] { casesRecorded[0] }.Concat(casesRecorded.Zip(casesRecorded.Skip(1), (first, second) => new CaseStatus {
                Count = second.Count - first.Count, Date = second.Date, District = second.District
            }));

            return(casesPerDay.CastAsGraphRecord().ToList());
        }
コード例 #2
0
        private async Task <List <GraphRecord> > GetTestStatsAsync()
        {
            const double keralaPopulationInMillion = 36;
            var          casesRecorded = (await TestCasesService.GetCummilativeCases()).ToList();
            var          casesPerDay = new[] { casesRecorded[0] }.Concat(casesRecorded.Zip(casesRecorded.Skip(1), (first, second) => new CaseStatus {
                Count = second.Count - first.Count, Date = second.Date, District = second.District
            }));
            var result = new List <GraphRecord>();

            result.Add(new GraphRecord
            {
                Date  = casesRecorded.Max(x => x.Date),
                Key   = "Total Tests",
                Value = casesRecorded.Max(x => x.Count)
            });

            result.Add(new GraphRecord
            {
                Date  = casesRecorded.Max(x => x.Date),
                Key   = "Tests Per Million",
                Value = Math.Round(casesRecorded.Max(x => x.Count) / keralaPopulationInMillion)
            });

            result.Add(new GraphRecord
            {
                Date  = casesRecorded.Max(x => x.Date),
                Key   = "Av. Tests(Last 5 Days)",
                Value = casesPerDay.OrderByDescending(x => x.Date).Take(5).Average(x => x.Count)
            });

            result.Add(new GraphRecord
            {
                Date  = casesRecorded.Max(x => x.Date),
                Key   = "Max Tests On One Day",
                Value = casesPerDay.Skip(1).Max(x => x.Count)
            });

            result.Add(new GraphRecord
            {
                Date  = casesRecorded.Last().Date,
                Key   = "Tests on Last Day",
                Value = casesPerDay.Last().Count
            });
            return(result);
        }