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(); var c = new AgendaViewController(); c.Arguments = new UIBundle(); c.Arguments.PutInt("UserId", data.UserId); 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 override void ViewDidLoad() { base.ViewDidLoad(); #region Designer Stuff SetContentView(this.ContentLayout); UINavigationBar.Appearance.BarTintColor = ViewBuilder.ColorFromARGB(AppController.Colors.OrangeYellow); UINavigationBar.Appearance.TintColor = ViewBuilder.ColorFromARGB(AppController.Colors.White); UINavigationBar.Appearance.SetTitleTextAttributes(new UITextAttributes { TextColor = ViewBuilder.ColorFromARGB(AppController.Colors.White) }); #endregion this.LoadLayout.UserInteractionEnabled = true; this.LoadLayout.Hidden = true; bool isResuming = this.ContentController.ViewControllers.Length > 0; if (!isResuming) { this.ContentController.PushViewController(new LoginViewController(), false); _userRestored = this.Arguments.GetBoolean("UserRestored"); if (_userRestored) { _userId = this.Arguments.GetInt("UserId"); var c = new AgendaViewController(); c.Arguments = new UIBundle(); c.Arguments.PutInt("UserId", _userId); this.ContentController.PushViewController(c, false); } } }