public DailySchedule GetScheduleFor(DateTime date) { date = date.Date; DailySchedule schedule; if(!_schedules.TryGetValue(date, out schedule)) { schedule = new DailySchedule {Date = date}; schedule.BeginEdit(); _schedules.Add(date, schedule); } return schedule; }