private void createOverview(WeatherDataCollection daysForReport, StringBuilder report) { var dates = new List <string>(); foreach (var current in daysForReport.GetDaysWithHighestLowTempByYear()) { dates.Add(current.Date.ToShortDateString()); } var daysWithHighestLow = string.Join(", ", dates); report.Append( $"Highest temp occurred on {this.formatDaysWithHighestTempForYear(daysForReport)}: {daysForReport.GetDaysWithHighestTempForAYear()[0].High}" + Environment.NewLine); report.Append( $"Lowest temp occurred on {this.formatDaysWithLowestTempForYear(daysForReport)}: {daysForReport.GetDaysWithLowestTempByYear()[0].Low}" + Environment.NewLine); report.Append( $"Lowest high temp occurred on {this.formatDaysWithLowestHighTempForYear(daysForReport)}: {daysForReport.GetDaysWithLowestHighTempByYear()[0].High}" + Environment.NewLine); report.Append( $"Highest low temp occurred on {daysWithHighestLow}: {daysForReport.GetDaysWithHighestLowTempByYear()[0].Low}" + Environment.NewLine); report.Append($"The average high: {daysForReport.GetAverageHighTempForYear():F}" + Environment.NewLine); report.Append($"The average low: {daysForReport.GetAverageLowTempForYear():F}" + Environment.NewLine); report.Append( $"Number of days with temp {this.upperBound} or greater: {daysForReport.GetDaysWithTempGreaterThanEqualTo(this.upperBound)}" + Environment.NewLine); report.Append( $"Number of days with temp {this.lowerBound} or less: {daysForReport.GetDaysWithTempLessThanEqualTo(this.lowerBound)}" + Environment.NewLine); }