internal void AddStubToDetails(DateTimeOffset contextDate, AttendanceStub stub) { try { if (_details.Contains(contextDate) == false) { _details.Add(new AttendanceGroup(contextDate)); } _details[contextDate].AddStub(stub); } catch { } }
/// <summary> /// Gets complete information about an instruction day in terms of regular and extra classes along with attendance. /// </summary> /// <param name="instructionDayDate"> /// The date for which to get the details. /// </param> /// <returns> /// A static copy of the day's information as a DayInfo object. /// </returns> public DayInfo GetExactDayInfo(DateTimeOffset instructionDayDate) { int day = (int)instructionDayDate.DayOfWeek; DateTimeOffset date = new DateTimeOffset(instructionDayDate.Date, new TimeSpan(5, 30, 0)); DayInfo dayInfo = new DayInfo(); Dictionary <Course, int> courseBlotCount = new Dictionary <Course, int>(); foreach (ClassHours classHours in _weekRegularClasses[day]) { if (courseBlotCount.ContainsKey(classHours.Parent)) { courseBlotCount[classHours.Parent] += 1; } else { courseBlotCount[classHours.Parent] = 0; } AttendanceGroup group = GetAttendanceGroup(classHours.Parent.Attendance._details, date); AttendanceStub stub = null; if (group != null) { if (group.Details.Count > courseBlotCount[classHours.Parent]) { stub = group.Details[courseBlotCount[classHours.Parent]]; } } dayInfo.RegularClassDetails.Add(new KeyValuePair <ClassHours, AttendanceStub>(classHours, stub)); } foreach (LtpCourse course in _weekNeglectedCourses[day]) { AttendanceGroup group = GetAttendanceGroup(course.Attendance._details, date); if (group != null) { foreach (AttendanceStub stub in group.Details) { dayInfo.ExtraClassDetails.Add(new KeyValuePair <LtpCourse, AttendanceStub>(course, stub)); } } } return(dayInfo); }
internal void AddStub(AttendanceStub stub) { _details.Add(stub); }