Exemplo n.º 1
0
        public void AddSorted(Event evnt)
        {
            MonthEvents month = Months.Where(i => i.Month == evnt.Date.Month).FirstOrDefault();

            if (month == null)
            {
                MonthEvents last = Months.Last();
                foreach (var m in Months)
                {
                    if (evnt.Date.Month < m.Month)
                    {
                        Months.Insert(Months.IndexOf(m), new MonthEvents(evnt));
                        break;
                    }
                    else if (last == m)
                    {
                        Months.Add(new MonthEvents(evnt));
                        break;
                    }
                }
            }
            else
            {
                month.AddSorted(evnt);
            }
        }
Exemplo n.º 2
0
 private void Init(MonthEvents mnth)
 {
     _montEvents = mnth;
     _year       = mnth.Events[0].Date.Year;
     this.InitializeComponent();
     CVS.Source = _montEvents.Events.GroupBy(i => i.Date.Date, (key, list) => new GroupedListItem(key, list));
 }
Exemplo n.º 3
0
        public static Page GetActivePage(Event evnt = null)
        {
            List <YearEvents> years;
            State             state;

            if (State.MenuSelected == MenuSelection.Scheduled)
            {
                years = Storage.CallendarActive;
                state = State.ActiveEvents;
            }
            else
            {
                years = Storage.CallendarPast;
                state = State.PastEvents;
            }
            switch (state.Page)
            {
            case PageActive.Years:
                return(new YearList(years));

            case PageActive.Months:
                YearEvents year = years.Where(i => i.Year == state.Year).FirstOrDefault();
                if (year == null)
                {
                    State.ActivePage = PageActive.Years;
                    return(new YearList(years));
                }
                else
                {
                    return(new MonthList(year));
                }

            case PageActive.Events:
                YearEvents y = years.Where(i => i.Year == state.Year).FirstOrDefault();
                if (y == null)
                {
                    State.ActivePage = PageActive.Years;
                    return(new YearList(years));
                }
                else
                {
                    MonthEvents month = y.Months.Where(i => i.Month == state.Month).FirstOrDefault();
                    if (month == null)
                    {
                        State.ActivePage = PageActive.Months;
                        return(new MonthList(y));
                    }
                    else
                    {
                        return(evnt == null ? new EventList(month) : new EventList(month, evnt));
                    }
                }

            default: return(null);
            }
        }
Exemplo n.º 4
0
        private void List_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            MonthEvents sel = e.AddedItems.FirstOrDefault() as MonthEvents;

            if (sel != null)
            {
                App.State.Month      = sel.Month;
                App.State.ActivePage = PageActive.Events;
                App.Cont.Content     = new EventList(sel);
            }
        }
Exemplo n.º 5
0
        public async Task <bool> RemoveAsync(params Event[] evnts)
        {
            StorageFile xml = await ApplicationData.Current.LocalFolder.GetFileAsync("data.xml");

            XmlDocument doc = await XmlDocument.LoadFromFileAsync(xml);

            List <YearEvents> collection = evnts[0].IsPast ? CallendarPast : CallendarActive;
            YearEvents        year       = collection.Where(i => i.Year == evnts[0].Date.Year).FirstOrDefault();
            MonthEvents       month      = year.Months.Where(i => i.Month == evnts[0].Date.Month).FirstOrDefault();

            foreach (Event evnt in evnts)
            {
                if (!evnt.IconPath.AbsoluteUri.StartsWith("ms-appx"))
                {
                    await(await StorageFile.GetFileFromApplicationUriAsync(evnt.IconPath)).DeleteAsync();
                }
                if (evnt.MediaMessageType != MediaMessageType.None)
                {
                    await(await StorageFile.GetFileFromApplicationUriAsync(evnt.MediaMessageUri)).DeleteAsync();
                }
                if (evnt.HasStroke)
                {
                    await(await(await ApplicationData.Current.LocalFolder.
                                GetFolderAsync("Inks")).GetFileAsync(evnt.Guid.ToString() + ".gif")).DeleteAsync();
                }
                var root = doc.FirstChild;
                foreach (var enode in root.ChildNodes)
                {
                    if (enode.FirstChild.InnerText == evnt.Guid.ToString())
                    {
                        root.RemoveChild(enode);
                        break;
                    }
                }
                Names.Remove(evnt.Name);
                Guids.Remove(evnt.Guid);
                if (evnt.Alarm != null)
                {
                    var notifier = ToastNotificationManager.CreateToastNotifier();
                    var notifs   = notifier.GetScheduledToastNotifications();
                    var notif    = notifs.Where(i => i.DeliveryTime == evnt.Alarm.Value).FirstOrDefault();
                    if (notif != null)
                    {
                        notifier.RemoveFromSchedule(notif);
                    }
                }
                month.Events.Remove(evnt);
            }
            await doc.SaveToFileAsync(xml);

            if (month.Events.Count > 0)
            {
                return(false);
            }
            else
            {
                year.Months.Remove(month);
                if (year.Months.Count > 0)
                {
                    App.State.ActivePage = PageActive.Months;
                    return(true);
                }
                else
                {
                    collection.Remove(year);
                    App.State.ActivePage = PageActive.Years;
                    return(true);
                }
            }
        }
Exemplo n.º 6
0
 public EventList(MonthEvents mnth, Event evnt)
 {
     Init(mnth);
     _evnt = evnt;
 }
Exemplo n.º 7
0
 public EventList(MonthEvents mnth)
 {
     Init(mnth);
 }