private void ContextMenu_OnOpened(object sender, RoutedEventArgs e) { var context = new OwnCloudDataContext(); var events = context.Events.Where(o => o.To > _targetDate && o.From < _targetDate.AddDays(1)).ToArray(); context.Dispose(); if (events.Length == 0) { return; } CmMenu.Items.Clear(); foreach (var tableEvent in events) { var item = new MenuItem { Header = tableEvent.Title, DataContext = tableEvent }; item.Click += EventClick; CmMenu.Items.Add(item); } if (CmMenu.Items.Count == 0) { CmMenu.IsEnabled = false; } }
void EventClick(object sender, RoutedEventArgs e) { var dbEvent = (sender as FrameworkElement).DataContext as TableEvent; int accountID = 0; using (var context = new OwnCloudDataContext()) { accountID = context.Calendars.Where(o => o.Id == dbEvent.CalendarId).Single()._accountId ?? 0; } //TODO: Import Edit Page.. App.Current.RootFrame.Navigate(new Uri("/View/Page/AppointmentPage.xaml?url=" + dbEvent.Url + "&uid=" + accountID.ToString(), UriKind.Relative)); }
public static void AddCalendarToTile(int _accountID) { string name = Resource.Localization.AppResources.Tile_KalendarTitle; try { using (var context = new OwnCloudDataContext()) { var account = context.Accounts.Single(o => o.GUID == _accountID); account.RestoreCredentials(); name = account.Username + " " + name; } } // ReSharper disable EmptyGeneralCatchClause catch // ReSharper restore EmptyGeneralCatchClause { //Do nothing } var invokeUrl = new Uri("/View/Page/CalendarMonthPage.xaml?uid=" + _accountID.ToString(), UriKind.Relative); PinUrlToStart(invokeUrl, name, "Resource/Image/CalendarLogo.png"); }