Пример #1
0
        private void LoginUser()
        {
            if (ValidateInput())
            {
                if (_isLogginUser)
                {
                    return;
                }

                _isLogginUser = true;

                _email    = this.EmailText.Text;
                _password = this.PasswordText.Text;

                // Prevent user form tapping views while logging
                ((MainViewController)this.MainViewController).BlockUI();

                // Create a new cancellation token for this request
                _cts1 = new CancellationTokenSource();
                AppController.LoginUser(_cts1, _email, _password,
                                        // Service call success
                                        (data) =>
                {
                    AppController.Settings.LastLoginUsernameUsed = _email;
                    AppController.Settings.AuthAccessToken       = data.AuthAccessToken;
                    AppController.Settings.AuthExpirationDate    = data.AuthExpirationDate.GetValueOrDefault().ToLocalTime();

                    ((AppDelegate)UIApplication.SharedApplication.Delegate).RegisterToNotificationsHub();

                    var c       = new ChatViewController();
                    c.Arguments = new UIBundle();
                    c.Arguments.PutString("Email", _email);
                    this.NavigationController.PushViewController(c, true);
                },
                                        // Service call error
                                        (error) =>
                {
                    if (error.Contains("confirm"))
                    {
                        this.VerifyButton.Hidden = false;
                    }

                    UIToast.MakeText(error, UIToastLength.Long).Show();
                },
                                        // Service call finished
                                        () =>
                {
                    _isLogginUser = false;

                    // Allow user to tap views
                    ((MainViewController)this.MainViewController).UnblockUI();
                });
            }
        }
Пример #2
0
        public void OnCompleted(JSONObject json, GraphResponse response)
        {
            try
            {
                string fbId    = json.GetString("id");
                string fbToken = AccessToken.CurrentAccessToken.Token;
                string fbEmail = json.GetString("email");

                _email = fbEmail;

                // Create a new cancellation token for this request
                _cts0 = new CancellationTokenSource();
                AppController.LoginUser(_cts0, fbId, fbEmail, fbToken,
                                        // Service call success
                                        (data) =>
                {
                    AppController.Settings.LastLoginUsernameUsed = _email;
                    AppController.Settings.AuthAccessToken       = data.AuthAccessToken;
                    AppController.Settings.AuthExpirationDate    = data.AuthExpirationDate.GetValueOrDefault().ToLocalTime();

                    ((ChattyApplication)this.Activity.Application).RegisterToNotificationsHub();

                    var f       = new ChatFragment();
                    f.Arguments = new Bundle();
                    f.Arguments.PutString("Email", _email);
                    this.FragmentManager.BeginTransaction()
                    .AddToBackStack("BeforeChatFragment")
                    .Replace(Resource.Id.ContentLayout, f, "ChatFragment")
                    .Commit();
                },
                                        // Service call error
                                        (error) =>
                {
                    Toast.MakeText(this.Activity.Application, error, ToastLength.Long).Show();
                },
                                        // Service call finished
                                        () =>
                {
                    // Allow user to tap views
                    ((MainActivity)this.Activity).UnblockUI();
                });
            }
            catch (Exception ex)
            {
                ((MainActivity)this.Activity).UnblockUI();

                Toast.MakeText(this.Activity.ApplicationContext, "Error", ToastLength.Long).Show();
            }
            finally
            {
                LoginManager.Instance.LogOut();
            }
        }
Пример #3
0
        public void DataRequestHandler(GraphRequestConnection connection, NSObject result, NSError err)
        {
            try
            {
                string fbId    = result.ValueForKey(new NSString("id")).ToString();
                string fbToken = AccessToken.CurrentAccessToken.TokenString;
                string fbEmail = result.ValueForKey(new NSString("email")).ToString();

                _email = fbEmail;

                // Create a new cancellation token for this request
                _cts0 = new CancellationTokenSource();
                AppController.LoginUser(_cts0, fbId, fbEmail, fbToken,
                                        // Service call success
                                        (data) =>
                {
                    AppController.Settings.LastLoginUsernameUsed = _email;
                    AppController.Settings.AuthAccessToken       = data.AuthAccessToken;
                    AppController.Settings.AuthExpirationDate    = data.AuthExpirationDate.GetValueOrDefault().ToLocalTime();

                    ((AppDelegate)UIApplication.SharedApplication.Delegate).RegisterToNotificationsHub();

                    var c       = new ChatViewController();
                    c.Arguments = new UIBundle();
                    c.Arguments.PutString("Email", _email);
                    this.NavigationController.PushViewController(c, true);
                },
                                        // Service call error
                                        (error) =>
                {
                    UIToast.MakeText(error, UIToastLength.Long).Show();
                },
                                        // Service call finished
                                        () =>
                {
                    // Allow user to tap views
                    ((MainViewController)this.MainViewController).UnblockUI();
                });
            }
            catch (Exception ex)
            {
                ((MainViewController)this.MainViewController).UnblockUI();

                UIToast.MakeText("Error", UIToastLength.Long).Show();
            }
        }