Пример #1
0
        public VaccinationNumbers VaccineChange()
        {
            var c1 = Vaccinations.OrderByDescending(v => v.Date).FirstOrDefault();

            if (c1 == null)
            {
                return(new VaccinationNumbers(DateTime.Now));
            }
            var change = new VaccinationNumbers(c1.Date);

            if (c1 != null)
            {
                change.Total   = c1.Total;
                change.Partial = c1.Partial;
                change.Fully   = c1.Fully;
            }

            var c2 = Vaccinations.OrderByDescending(v => v.Date).Skip(1).FirstOrDefault();

            if (c2 != null)
            {
                change.Total   -= c2.Total;
                change.Partial -= c2.Partial;
                change.Fully   -= c2.Fully;
            }

            return(change);
        }
Пример #2
0
        public VaccinationNumbers VaccinePercentage()
        {
            var percentages = new VaccinationNumbers(DateTime.Today);

            if (Population > 0)
            {
                var vacs = Vaccinations.OrderByDescending(v => v.Date).FirstOrDefault();
                if (vacs != null)
                {
                    percentages.Total   = vacs.Total * 100.0 / Population;
                    percentages.Partial = vacs.Partial * 100.0 / Population;
                    percentages.Fully   = vacs.Fully * 100.0 / Population;
                }
            }

            return(percentages);
        }
Пример #3
0
        public VaccinationNumbers TrendingVaccines()
        {
            var trend = new VaccinationNumbers(DateTime.Today);
            var count = (Vaccinations.Count >= 7) ? 7 : Vaccinations.Count;

            foreach (var item in Vaccinations.OrderByDescending(v => v.Date).Take(count))
            {
                trend.Total += item.Total;
                trend.Daily += item.Daily;
                trend.Fully += item.Fully;
            }

            trend.Total /= count;
            trend.Daily /= count;
            trend.Fully /= count;

            return(trend);
        }