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); }
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); }
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); }