示例#1
0
 public Region(string name)
 {
     Name         = name;
     States       = new List <State>();
     Vaccinations = new List <VaccinationNumbers>();
     CurrentCases = new CaseNumbers(DateTime.Today);
 }
示例#2
0
        public CaseNumbers ChangeSince(DateTime date)
        {
            CaseNumbers change        = new CaseNumbers(DateTime.Today);
            CaseNumbers previousCases = Cases.SingleOrDefault(c => c.Date == date);

            if (CurrentCases != null && previousCases != null)
            {
                change.Confirmed = CurrentCases.Confirmed - previousCases.Confirmed;
                change.Deaths    = CurrentCases.Deaths - previousCases.Deaths;
                change.Recovered = CurrentCases.Recovered - previousCases.Recovered;
            }

            return(change);
        }
示例#3
0
        public CaseNumbers Change(DateTime date)
        {
            CaseNumbers change = new CaseNumbers(date);
            CaseNumbers c1     = Cases(date);
            CaseNumbers c2     = Cases(date.AddDays(-1));

            if (c1 != null && c2 != null)
            {
                change.Confirmed = c1.Confirmed - c2.Confirmed;
                change.Deaths    = c1.Deaths - c2.Deaths;
                change.Recovered = c1.Recovered - c2.Recovered;
            }

            return(change);
        }
示例#4
0
        public CaseNumbers Change(DateTime date)
        {
            CaseNumbers change = new CaseNumbers(date);
            var         c1     = Cases.SingleOrDefault(c => c.Date == date);
            var         c2     = Cases.SingleOrDefault(c => c.Date == date.AddDays(-1));

            if (c1 != null && c2 != null)
            {
                change.Confirmed = c1.Confirmed - c2.Confirmed;
                change.Deaths    = c1.Deaths - c2.Deaths;
                change.Recovered = c1.Recovered - c2.Recovered;
            }

            return(change);
        }
示例#5
0
        public CaseNumbers Cases(DateTime date)
        {
            CaseNumbers caseNumbers = new CaseNumbers(date);

            foreach (var state in States)
            {
                var stateCases = state.Cases.SingleOrDefault(c => c.Date == date);
                if (stateCases != null)
                {
                    caseNumbers.Confirmed += stateCases.Confirmed;
                    caseNumbers.Deaths    += stateCases.Deaths;
                    caseNumbers.Recovered += stateCases.Recovered;
                }
            }

            return(caseNumbers);
        }
示例#6
0
        public CaseNumbers TrendingCases()
        {
            var trend = new CaseNumbers(DateTime.Today);
            var count = (Cases.Count >= 7) ? 7 : Cases.Count;

            foreach (var item in Cases.OrderByDescending(c => c.Date).Take(count))
            {
                trend.Confirmed += item.Confirmed;
                trend.Deaths    += item.Deaths;
                trend.Recovered += item.Recovered;
            }

            trend.Confirmed /= count;
            trend.Deaths    /= count;
            trend.Recovered /= count;

            return(trend);
        }