コード例 #1
0
        private async Task PerformLoginAsync()
        {
            try
            {
                await OAuthHelper.GetAccessToken();

                App.DAUtil.RefreshMasterInfo(new MasterInfo
                {
                    content = JsonConvert.SerializeObject(App.GraphAuthentication),
                    Name    = App.GRAPH_AUTH_RESULT_KEY
                });

                App.DAUtil.RefreshMasterInfo(new MasterInfo
                {
                    content = JsonConvert.SerializeObject(App.SharePointAuthentication),
                    Name    = App.SHAREPOINT_AUTH_RESULT_KEY
                });

                await OAuthHelper.GetUserInfo();

                MessagingCenter.Send <object>(this, App.EVENT_LAUNCH_MAIN_PAGE);
            }
            catch (Exception ex)
            {
                btnLogin.IsVisible = true;
                IsBusy             = false;
                lblLoading.Text    = ex.Message;
            }
        }
コード例 #2
0
        private async void Login_OnClicked(object sender, EventArgs e)
        {
            try
            {
                //if (string.IsNullOrEmpty(Username.Text.Trim()) || string.IsNullOrEmpty(Username.Text.Trim()))
                //{
                //    DependencyService.Get<IMessage>().LongAlert("Login Failed! Please check email/password");
                //    return;
                //}

                IsBusy             = true;
                btnLogin.IsVisible = false;

                var t1 = Task.Run(async() =>
                {
                    await OAuthHelper.GetAuthenticationHeader(Username.Text, Password.Text).ContinueWith(async(x) =>
                    {
                        await OAuthHelper.GetUserInfo().ContinueWith((y) =>
                        {
                            Device.BeginInvokeOnMainThread(async() =>
                            {
                                IsBusy = false;
                                if (App.GraphAuthentication != null)
                                {
                                    MessagingCenter.Send <object>(this, App.EVENT_LAUNCH_MAIN_PAGE);
                                }
                                else
                                {
                                    DependencyService.Get <IMessage>().ShortAlert("Login failed! Please check email/password");
                                    btnLogin.IsVisible = true;
                                }
                            });
                        });
                    });
                });
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().ShortAlert("Login failed! Please check email/password");
            }
        }