private Dictionary <ProjectReportDate, Dictionary <Report, int> > FillSecondDictionary() { SecondDictionary = new Dictionary <ProjectReportDate, Dictionary <Report, int> >(); foreach (var v in project.GetProjectReportDate(project.GetProject(this.studentNumber, projectId).FirstOrDefault().id)) { SecondDictionary.Add(v, FillThirdDictionary()); } foreach (KeyValuePair <ProjectReportDate, Dictionary <Report, int> > s in SecondDictionary) { for (int i = 0; i < ThirdDictionary.Count; i++) { Debug.WriteLine(s.Key.week_label + " " + s.Value.Keys.ElementAt(i).grade); } } return(SecondDictionary); }