Beispiel #1
0
        private async Task <bool> RegisterAccount()
        {
            var accountService = new Domain.Services.Rest.Security.Account();
            var registerResult = await accountService.PostRegisterAsync(Email, Password);

            return(registerResult.IsSuccessStatusCode);
        }
Beispiel #2
0
        private async void Signout()
        {
            var accountService = new Domain.Services.Rest.Security.Account();
            var logoutResult   = await accountService.PostLogoutAsync(GetContext().AccessToken.Access_Token);

            if (logoutResult.IsSuccessStatusCode)
            {
                var synchronizer = new Domain.Services.Sync.Synchronizer();
                await synchronizer.SyncPostsAndWait();

                SaveContext(null, null, false, null);

                var realm = Realm.GetInstance();
                await realm.WriteAsync(tempRealm =>
                {
                    tempRealm.RemoveAll();
                });


                Application.Current.Properties["Context"] = null;

                App.LaunchLoginPage?.Invoke(this, EventArgs.Empty);
            }
        }
Beispiel #3
0
        private async void Launch(string pageName)
        {
            switch (pageName)
            {
            case "Calendar":
            {
                await Navigator.PushCalendarPageAsync(Navigation);

                break;
            }

            case "Classes":
            {
                await Navigator.PushClassesPageAsync(Navigation);

                break;
            }

            case "Students":
            {
                await Navigator.PushStudentsPageAsync(Navigation);

                break;
            }

            case "Evaluations":
            {
                await Navigator.PushEvaluationsPageAsync(Navigation, GetCurrentUser().Profile.LocalId);

                break;
            }

            case "Profile":
            {
                await Navigator.PushProfilePageAsync(Navigation, GetCurrentUser().Profile.LocalId);

                break;
            }

            case "School":
            {
                await Navigator.PushSchoolPageAsync(Navigation);

                break;
            }

            case "Signout":
            {
                var accountService = new Domain.Services.Rest.Security.Account();
                var logoutResult   = await accountService.PostLogoutAsync(GetContext().AccessToken.Access_Token);

                if (logoutResult.IsSuccessStatusCode)
                {
                    var synchronizer = new Domain.Services.Sync.Synchronizer();
                    await synchronizer.SyncPostsAndWait();

                    SaveContext(null, null, false);

                    var config = Realm.GetInstance().Config;
                    Realm.DeleteRealm(config);

                    Application.Current.Properties["Context"] = null;

                    App.LaunchLoginPage?.Invoke(this, EventArgs.Empty);
                }
                break;
            }
            }
            ;
        }