public static void CreateTileNotification(ClassInstance classInstance, DateTime next)
        {
            var tile = AdaptiveTile.CreateTile();
            var binding = TileBinding.Create(TemplateType.TileWide);
            binding.Branding = Branding.None;
            var subgroup = new SubGroup();

            if (classInstance.classData != null) {
                var header = new Text(classInstance.classData.ToString()) { Style = TextStyle.Body };
                subgroup.AddText(header);
            }

            if (classInstance.from != null) {
                var dateTime = new Text(Data.loader.GetString(classInstance.weekDay.ToString()) + " " + classInstance.from) { Style = TextStyle.Body };
                subgroup.AddText(dateTime);
            }

            if (classInstance.room != null) {
                var classRoom = new Text(classInstance.room) { Style = TextStyle.Caption };
                subgroup.AddText(classRoom);
            }

            if (classInstance.teacher != null) {
                var teacher = new Text(classInstance.teacher.ToString()) { Style = TextStyle.Caption };
                subgroup.AddText(teacher);
            }

            binding.Add(subgroup);

            tile.Tiles.Add(binding);
            TileNotification tn = tile.GetNotification();

            tn.ExpirationTime = new DateTimeOffset(next);
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tn);
        }
Ejemplo n.º 2
0
        public static void CreateTileNotification(ClassInstance classInstance, DateTime next)
        {
            var tile    = AdaptiveTile.CreateTile();
            var binding = TileBinding.Create(TemplateType.TileWide);

            binding.Branding = Branding.None;
            var subgroup = new SubGroup();

            if (classInstance.classData != null)
            {
                var header = new Text(classInstance.classData.ToString())
                {
                    Style = TextStyle.Body
                };
                subgroup.AddText(header);
            }

            if (classInstance.from != null)
            {
                var dateTime = new Text(Data.loader.GetString(classInstance.weekDay.ToString()) + " " + classInstance.from)
                {
                    Style = TextStyle.Body
                };
                subgroup.AddText(dateTime);
            }

            if (classInstance.room != null)
            {
                var classRoom = new Text(classInstance.room)
                {
                    Style = TextStyle.Caption
                };
                subgroup.AddText(classRoom);
            }

            if (classInstance.teacher != null)
            {
                var teacher = new Text(classInstance.teacher.ToString())
                {
                    Style = TextStyle.Caption
                };
                subgroup.AddText(teacher);
            }


            binding.Add(subgroup);

            tile.Tiles.Add(binding);
            TileNotification tn = tile.GetNotification();

            tn.ExpirationTime = new DateTimeOffset(next);
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tn);
        }
Ejemplo n.º 3
0
            string WriteiCalEvent(string iCal, ClassInstance cInstance, DateTime now, DateTime semestrEnd)
            {
                DateTime next  = Extensions.WhenIsNext(cInstance, now);
                string   Event = WNLiCal("BEGIN:VEVENT");

                Event += WNLiCal("SUMMARY:" + cInstance.classData.ToString());
                Event += WNLiCal("DTSTART:" + ToICalDateFormat(next));
                Event += WNLiCal("DTEND:" + ToICalDateFormat(next.AddMinutes((cInstance.to - cInstance.from).TotalMinutes)));
                Event += WNLiCal("LOCATION:" + cInstance.room);
                Event += WNLiCal("RRULE:FREQ=WEEKLY;UNTIL=" + ToICalDateFormat(semestrEnd) + (cInstance.weekType != WeekType.EveryWeek ? ";INTERVAL=2" : ""));
                Event += WNLiCal("END:VEVENT");
                return(Event);
            }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            ClassInstance cInstance = (ClassInstance)e.Parameter;

            if (cInstance != null) {
                comboBoxClass.SelectedIndex = Data.classes.FindIndex(x => x == cInstance.classData);
                comboBoxClassType.SelectedIndex = (int)cInstance.classType;
                comboBoxWeek.SelectedIndex = (int)cInstance.weekType;
                timePickerFrom.Time = cInstance.from;
                timePickerTo.Time = cInstance.to;
                textBoxRoom.Text = cInstance.room;
                comboBoxDay.SelectedIndex = (int)cInstance.weekDay;
                System.Diagnostics.Debug.WriteLine(cInstance);
                System.Diagnostics.Debug.WriteLine(Data.teachers.FindIndex(x => x.GetHashCode() == cInstance.teacher.GetHashCode()));
                comboBoxTeacher.SelectedIndex = Data.teachers.FindIndex(x => x == cInstance.teacher);
                editObject = cInstance;
                buttonDelete.Visibility = Visibility.Visible;
            }
        }
Ejemplo n.º 5
0
        public static DateTime WhenIsNext(ClassInstance classInstance, DateTime now)
        {
            int currentDay = (int)now.DayOfWeek - 1;

            if (currentDay == -1)
            {
                currentDay = 6;
            }

            int expireIn;

            if (currentDay == (int)classInstance.weekDay)
            {
                expireIn = classInstance.from > now.TimeOfDay ? 0 : 7;
            }
            else
            {
                expireIn = currentDay <= (int)classInstance.weekDay ?
                           (int)classInstance.weekDay - currentDay :
                           7 - currentDay + (int)classInstance.weekDay;
            }

            now = now.AddDays(expireIn);

            if (classInstance.weekType != WeekType.EveryWeek)
            {
                if (GetWeekOfYear(now) % 2 == 0 && classInstance.weekType == WeekType.OddWeek)
                {
                    now = now.AddDays(7);
                }
                else if (GetWeekOfYear(now) % 2 == 1 && classInstance.weekType == WeekType.EvenWeek)
                {
                    now = now.AddDays(7);
                }
            }

            return(new DateTime(now.Year, now.Month, now.Day, classInstance.from.Hours, classInstance.from.Minutes, classInstance.from.Seconds));
        }
Ejemplo n.º 6
0
 public static void AddClassInstance(ClassInstance classInstance) {
     classInstances.Add(classInstance);
     dataStore.Save();
 }
Ejemplo n.º 7
0
 string WriteiCalEvent(string iCal, ClassInstance cInstance, DateTime now, DateTime semestrEnd) {
     DateTime next = Extensions.WhenIsNext(cInstance, now);
     string Event = WNLiCal("BEGIN:VEVENT");
     Event += WNLiCal("SUMMARY:" + cInstance.classData.ToString());
     Event += WNLiCal("DTSTART:" + ToICalDateFormat(next));
     Event += WNLiCal("DTEND:" + ToICalDateFormat(next.AddMinutes((cInstance.to - cInstance.from).TotalMinutes)));
     Event += WNLiCal("LOCATION:" + cInstance.room);
     Event += WNLiCal("RRULE:FREQ=WEEKLY;UNTIL=" + ToICalDateFormat(semestrEnd) + (cInstance.weekType != WeekType.EveryWeek ? ";INTERVAL=2" : ""));
     Event += WNLiCal("END:VEVENT");
     return Event;
 }
Ejemplo n.º 8
0
 public static void DeleteClassInstance(ClassInstance classInstance) {
     dataStore.classInstances.Remove(classInstance);
     dataStore.Save();
 }
Ejemplo n.º 9
0
 public static void DeleteClassInstance(ClassInstance classInstance)
 {
     dataStore.classInstances.Remove(classInstance);
     dataStore.Save();
 }
Ejemplo n.º 10
0
 public static void AddClassInstance(ClassInstance classInstance)
 {
     classInstances.Add(classInstance);
     dataStore.Save();
 }
Ejemplo n.º 11
0
 public DisplayClass(ClassInstance classInstance)
 {
     this.classInstance = classInstance;
 }