/// <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);
        }
Exemple #2
0
        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);
        }