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); }
public static void UpdateTile(OneDayTimeTableModel courses) { // Create a tile update manager for the specified syndication feed. var updater = TileUpdateManager.CreateTileUpdaterForApplication(); updater.EnableNotificationQueue(true); updater.Clear(); List <string> titles = new List <string>(), desps = new List <string>(); foreach (var item in courses.Courses) { if (item.End < GetCurrentClassNumber()) { continue; } titles.Add(item.Name); desps.Add(item.Start + " - " + item.End + "节\n" + item.Description); } int n = titles.Count(); int m = n; if (n % 2 == 1) { titles.Add(""); desps.Add(""); ++m; } for (int i = 0; i < Math.Min(n, 4); ++i) { XmlDocument tileXml = MakeContent(titles[i], desps[i], titles[(i * 2) % m], desps[(i * 2) % m], titles[(i * 2 + 1) % m], desps[(i * 2 + 1) % m]); // Create a new tile notification. updater.Update(new TileNotification(tileXml)); } }