void RegisterClick(object sender, EventArgs e) { View.EndEditing(true); var form = sender as RegistrationFormView; if (form != null) { bool valid = true; if (String.IsNullOrEmpty(form.Email)) { form.ShowBubbleForEmail(messages.ErrorMessageEmailRequired); valid = false; } else if (!IsEmailValid(form.Email)) { form.ShowBubbleForEmail(messages.ErrorMessageEmailInvalid); valid = false; } if (String.IsNullOrEmpty(form.UserName)) { form.ShowBubbleForUserName(messages.ErrorMessageUserNameRequired); valid = false; } if (String.IsNullOrEmpty(form.Password)) { form.ShowBubbleForPassword(messages.ErrorMessagePasswordRequired); valid = false; } else if (!form.Password.Equals(form.PasswordConfirmation, StringComparison.Ordinal)) { form.ShowBubbleForPasswordConfirmation(messages.ErrorMessagePasswordDoesNotMatch); valid = false; } if (valid) { StartActivityAnimation(messages.RegistrationWaitingMessage); credentialsProvider.Register(form.Email, form.UserName, form.Password, Registered, x => Failed(form, x)); } } }