/// <summary> /// Parse table courses /// </summary> /// <param name="tableCourses"></param> /// <param name="weekNumber"></param> /// <param name="weekCount"></param> /// <returns></returns> public static TimeTableWeek ParseTableCourses(TableCourses tableCourses, int weekNumber, out int weekCount) { TimeTableWeek week = new TimeTableWeek("第" + weekNumber + "周"); weekCount = 0; foreach (var course in tableCourses.Table) { week.Items.AddRange(ParseTableCourse(course, weekNumber, ref weekCount)); } return(week); }
public async static Task <TimeTableModel> GenerateTimeTableModel(TableCourses tableCourses) { Debug.WriteLine("Started: Generate TimeTableModel"); TimeTableModel model = new TimeTableModel(tableCourses.Name); var week1 = ParseTableCourses(tableCourses, 1, out int weekCount); model.Weeks.Add(week1); for (int i = 2; i <= weekCount; ++i) { model.Weeks.Add(ParseTableCourses(tableCourses, i, out weekCount)); } model.CurrentWeek = (await GetCurrentWeek()) - 1; Debug.WriteLine("Finished: Generate TimeTableModel"); return(model); }
public async static Task <OneDayTimeTableModel> GenerateOneDayTimeTableModel(TableCourses tableCourses) { OneDayTimeTableModel model = new OneDayTimeTableModel(tableCourses.Name); var week = ParseTableCourses(tableCourses, (await GetCurrentWeek()), out int weekCount); Debug.WriteLine("Started: Generate One Day TimeTableModel"); foreach (var item in week.Items) { if (WEEKS[item.Day - 1] == DateTime.Now.DayOfWeek) { model.Courses.Add(item); } } model.Courses.Sort((a, b) => a.Start - b.Start); Debug.WriteLine("Finished: Generate One Day TimeTableModel"); return(model); }