private void GenerateSprintDataPlan(Sprint sprintData) { var datesGroupedByWeek = sprintData.SprintDays(sprintData.StartDate, sprintData.EndDate) .GroupBy(x => CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(x, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday)); sprintData.SprintDataPlan = new Dictionary <int, Dictionary <DayOfWeek, DayData> >(); foreach (var groupWeek in datesGroupedByWeek) { var data = new Dictionary <DayOfWeek, DayData>(); GenerateDayDataForEachWeek(groupWeek, data); sprintData.SprintDataPlan.Add(groupWeek.Key, data); } }