private void ExecuteNavigateToHouseholdsCommand()
 {
     ApplicationInstanceData.GoToView(new HouseholdsSearchContentPage
     {
         BindingContext = new HouseholdsSearchContentPageModel(ApplicationInstanceData)
     });
 }
 private void ExecuteNavigateToAboutCommand()
 {
     ApplicationInstanceData.GoToView(new AboutContentPage
     {
         BindingContext = new AboutContentPageModel(ApplicationInstanceData)
     });
 }
Ejemplo n.º 3
0
 private void ExecuteNavigateToGetNewApiKeyViewCommand()
 {
     ApplicationInstanceData.GoToView(new AuthenticationContentPage
     {
         BindingContext = new AuthenticationContentPageModel(ApplicationInstanceData)
     });
 }
        private void ExecuteNavigateToLocalizationSelectionCommand()
        {
            var view      = new LocalizationSelectionContentPage();
            var viewModel = new LocalizationSelectionContentPageModel(ApplicationInstanceData, true);

            view.BindingContext = viewModel;
            ApplicationInstanceData.GoToView(view);
        }
        private async void ExecuteDeleteCommand()
        {
            // is it allowed?
            if (Household.HasExternalId)
            {
                return;
            }

            // are you sure?  all children will be deleted as well
            var actionDecision = await ApplicationInstanceData.App.MainPage.DisplayAlert(
                ApplicationInstanceData.SelectedLocalization.Translations[@"Confirm"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"ConfirmationMessageDeleteHousehold"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"OK"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"Cancel"]);

            if (actionDecision)
            {
                ApplicationInstanceData.Data.DeleteHousehold(Household.InternalId);
                ApplicationInstanceData.Data.SaveChanges();
                ApplicationInstanceData.GoToView(new HouseholdsSearchContentPage {
                    BindingContext = new HouseholdsSearchContentPageModel(ApplicationInstanceData)
                });
            }
        }
        private async void ExecuteSyncCommand()
        {
            // check for internet connectivity
            var hasInternetConnectivity = Plugin.Connectivity.CrossConnectivity.Current.IsConnected;

            if (!hasInternetConnectivity)
            {
                ExecuteNoInternetConnectivityErrorMessageAction();
                ApplicationInstanceData.RootPage.IsPresented = false;
                return;
            }

            // save current view
            var currentView = ApplicationInstanceData.NavigationPage;

            // show sync view
            var syncContentPageModel = new SyncContentPageModel(ApplicationInstanceData);

            ApplicationInstanceData.GoToView(new SyncContentPage {
                BindingContext = syncContentPageModel
            });

            HideMenu();

            // disable menu
            ApplicationInstanceData.RootPage.IsGestureEnabled = false;

            // sync
            syncContentPageModel.StatusMessage = ApplicationInstanceData.SelectedLocalization.Translations[@"Syncing"];
            syncContentPageModel.IsBusy        = true;
            var taskResult = new Tuple <bool, string>(false, @"");
            await Task.Run(() => { taskResult = Workers.SyncWorker.Sync(ApplicationInstanceData, false); });

            syncContentPageModel.IsBusy = false;

            // display original view
            ApplicationInstanceData.NavigationPage = currentView;

            // if HouseholdsView then refresh
            if (currentView.Pages.First().GetType() == typeof(HouseholdsSearchContentPage))
            {
                var householdsSearchContentPageModel = (HouseholdsSearchContentPageModel)currentView.Pages.First().BindingContext;

                // use existing
                //await Task.Run(() => { householdsSearchContentPageModel.RefreshCommand.Execute(null); });

                // create new
                var searchText = householdsSearchContentPageModel.SearchText;
                var newHouseholdsSearchContentPageModel = new HouseholdsSearchContentPageModel(ApplicationInstanceData);
                newHouseholdsSearchContentPageModel.SearchText = searchText;
                ApplicationInstanceData.GoToView(new HouseholdsSearchContentPage
                {
                    BindingContext = newHouseholdsSearchContentPageModel
                });
            }

            // if HouseholdMembersSearchView then refresh
            if (currentView.Pages.First().GetType() == typeof(HouseholdMembersSearchContentPage))
            {
                var viewModel = (HouseholdMembersSearchContentPageModel)currentView.Pages.First().BindingContext;

                // use existing
                //await Task.Run(() => { viewModel.RefreshCommand.Execute(null); });

                // create new
                var searchText = viewModel.SearchText;
                var newHouseholdMembersSearchContentPageModel = new HouseholdMembersSearchContentPageModel(ApplicationInstanceData);
                newHouseholdMembersSearchContentPageModel.SearchText = searchText;
                ApplicationInstanceData.GoToView(new HouseholdMembersSearchContentPage
                {
                    BindingContext = newHouseholdMembersSearchContentPageModel
                });
            }

            ApplicationInstanceData.RootPage.Detail      = ApplicationInstanceData.NavigationPage;
            ApplicationInstanceData.RootPage.IsPresented = false;

            // re-enable menu
            ApplicationInstanceData.RootPage.IsGestureEnabled = true;
            ExecutePostExecuteSyncCommand(taskResult);
        }