public AppShell() { InitializeComponent(); notificationManager = DependencyService.Get <INotificationManager>(); Routing.RegisterRoute(nameof(SearchPage), typeof(SearchPage)); Routing.RegisterRoute(nameof(BuildPage), typeof(BuildPage)); Routing.RegisterRoute(nameof(QuotePage), typeof(QuotePage)); RestoreState.Load(); if (SettingsPage.VersionPrompt() < SettingsPage.CURRENT_VERSION_PROMPT) { Device.InvokeOnMainThreadAsync(async() => { var goToSettings = await DisplayAlert("Check settings", "You should set your store, sales ID, and tax rate before using the app.", "Ok", "Cancel"); SettingsPage.VersionPrompt(SettingsPage.CURRENT_VERSION_PROMPT); if (goToSettings) { await Navigation.PushAsync(new SettingsPage()); } }); } Reminder.CheckReminders(notificationManager); }
public RemindersPageViewModel() { Title = "Reminders"; notificationManager = DependencyService.Get <INotificationManager>(); Reminder.LoadAll(); Reminders = new ObservableCollection <Reminder>(Reminder.AllReminders); Edit = new Command <Reminder>(async(Reminder r) => { await Device.InvokeOnMainThreadAsync(async() => { var vm = new ReminderEditPageViewModel() { Reminder = r }; var page = new ReminderEditPage() { BindingContext = vm }; await Shell.Current.Navigation.PushAsync(page); }); }); Delete = new Command <Reminder>(async(Reminder r) => { try { Reminders.Remove(r); Reminder.AllReminders.Remove(r); /* * See QuotePageViewModel for info */ Reminders.Clear(); foreach (var tmp in Reminder.AllReminders) { Reminders.Add(tmp); } Reminder.SaveAll(); } catch (Exception e) { await Device.InvokeOnMainThreadAsync(async() => { await Shell.Current.DisplayAlert("Exception", e.ToString(), "ok"); }); } }); CheckAll = new Command(() => { Reminder.CheckReminders(notificationManager); }); }