/// <summary> /// Returns the semester it's under, or null if it couldn't get its semester /// </summary> /// <returns></returns> public SemesterWin GetSemester() { ClassWin c = Parent as ClassWin; if (c == null) { return(null); } return(c.Parent as SemesterWin); }
private static ScheduleWin findSchedule(ClassWin c, DateTime date) { for (int i = 0; i < c.Schedules.Count; i++) { if (c.Schedules[i].DayOfWeek == date.DayOfWeek) { return(c.Schedules[i]); } } return(null); }
protected static int compareViaClass( ClassWin class1, DateTime updated1, DateTime actualDate1, ClassWin class2, DateTime updated2, DateTime actualDate2) { if (class1 == null || class2 == null || class1 == class2) { return(updated1.CompareTo(updated2)); } ScheduleWin schedule1 = findSchedule(class1, actualDate1); ScheduleWin schedule2 = findSchedule(class2, actualDate2); //if both schedules missing, use the updated time if (schedule1 == null && schedule2 == null) { return(updated1.CompareTo(updated2)); } //if the other schedule is missing, this item should go first if (schedule2 == null) { return(-1); } //if this schedule is missing, the other item should go first if (schedule1 == null) { return(1); } //get the comparison of their start times int comp = schedule1.StartTime.TimeOfDay.CompareTo(schedule2.StartTime.TimeOfDay); //if they started at the same time, use the updated time if (comp == 0) { return(updated1.CompareTo(updated2)); } return(comp); }