protected override bool ValidateAllFields()
        {
            string emailAddress = EmailAddressTextField.Text.Trim();

            bool allFieldsValid = true;

            if (String.IsNullOrEmpty(emailAddress) || !StringUtils.IsValidEmail(emailAddress))
            {
                EmailAddressTextField.SetInvalid();
                allFieldsValid = false;
            }

            return(allFieldsValid);
        }
        async partial void ValidateButtonClicked(Foundation.NSObject sender)
        {
            View.EndEditing(true);

            string emailAddress = EmailAddressTextField.Text.Trim();

            bool allFieldsValid = ValidateAllFields();

            if (!allFieldsValid)
            {
                return;
            }

            ShowHud(Strings.Hud.please_wait);

            try
            {
                var result = await WebServices.EmailController.SendValidationCode(emailAddress);

                if (result.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    Transporter.SharedInstance.SetObject("email", emailAddress);

                    var vc = new EnterEmailAddressVerificationCodeViewController();
                    NavigationController.PushViewController(vc, true);
                }
                else
                {
                    EmailAddressTextField.SetInvalid();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }

            HideHud();
        }