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(); }); } }
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(); } }
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(); } }