Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            });
        }