public HealthcheckDataCollection GetDataReportAtDate(DateTime dateToIssueReport) { var output = new HealthcheckDataCollection(); foreach (var sid in data.Keys) { DateTime min = DateTime.MinValue; foreach (var date in data[sid].Keys) { if (date > min && date <= dateToIssueReport) { min = date; } } if (min != DateTime.MinValue) { output.Add(data[sid][min]); } } return(output); }