private void lowestNumberOfTotalTestsMonthly(StackedStringArray givenList, MonthlyCovidStatistics statisticsToWriteTo) { List <string> unformattedDateOfCurrentLowest = new List <string>(); int currentLowestNumberOfTests = int.MaxValue; foreach (List <string> currentList in givenList.getListOfList()) { if (int.Parse(currentList.ElementAt(PositiveIncrease)) + int.Parse(currentList.ElementAt(NegativeIncrease)) < currentLowestNumberOfTests) { unformattedDateOfCurrentLowest.Clear(); unformattedDateOfCurrentLowest.Add(currentList.ElementAt(Date)); currentLowestNumberOfTests = int.Parse(currentList.ElementAt(PositiveIncrease)) + int.Parse(currentList.ElementAt(NegativeIncrease)); } else if (int.Parse(currentList.ElementAt(PositiveIncrease)) + int.Parse(currentList.ElementAt(NegativeIncrease)) < currentLowestNumberOfTests) { unformattedDateOfCurrentLowest.Add(currentList.ElementAt(Date)); } } if (currentLowestNumberOfTests == int.MaxValue) { statisticsToWriteTo.NumberLowestTotalTests = "-1"; } else { statisticsToWriteTo.NumberLowestTotalTests = currentLowestNumberOfTests.ToString(); statisticsToWriteTo.DateLowestTotalTests = unformattedDateOfCurrentLowest; } }
private void averageNumberOfTotalTestsPerDayMonthly(StackedStringArray givenList, MonthlyCovidStatistics statisticsToWriteTo) { int totalNumberOfTotalTests = 0; int numberOfDaysCounted = 0; foreach (List <string> currentList in givenList.getListOfList()) { totalNumberOfTotalTests += int.Parse(currentList.ElementAt(PositiveIncrease)) + int.Parse(currentList.ElementAt(NegativeIncrease)); numberOfDaysCounted++; } if (numberOfDaysCounted == 0) { statisticsToWriteTo.NumberAverageTotalTests = "-1"; } else { double averageNumberOfTotalTests = Convert.ToDouble(totalNumberOfTotalTests) / Convert.ToDouble(numberOfDaysCounted); statisticsToWriteTo.NumberAverageTotalTests = averageNumberOfTotalTests.ToString(CultureInfo.InvariantCulture); } }