private void onValidationFailed(IValidateNewAccountResult result) { loginService.OnValidationSuccess -= onValidationSuccess; loginService.OnValidationFailed -= onValidationFailed; HasError = true; string text = string.Empty; if (result.Errors != null) { foreach (IValidateNewAccountError error in result.Errors) { object obj = text; text = string.Concat(obj, "\t[", error, "] "); if (error is IValidateNewAccountNothingToValidateError) { i18nErrorMessage = Service.Get <Localizer>().GetTokenTranslationFormatted("Account.Create.Validation.Empty", "Account.Create.Validation.PasswrodField"); } else if (error is IValidateNewAccountPassswordMissingCharactersError) { i18nErrorMessage = "Account.Create.Validation.PasswordComplexity"; } else if (error is IValidateNewAccountPasswordCommonError) { i18nErrorMessage = "Acount.Create.Validate.TooCommon"; } else if (error is IValidateNewAccountPasswordPhoneError) { i18nErrorMessage = "Account.Create.Validation.PasswordPhoneNumber"; } else if (error is IValidateNewAccountPasswordSizeError) { i18nErrorMessage = "Account.Create.Validation.PasswordLength"; } else if (error is IValidateNewAccountRateLimitedError) { string type = ""; string format = "Account.General.Error.RateLimited"; Service.Get <EventDispatcher>().DispatchEvent(new ApplicationService.Error(type, format)); } text += i18nErrorMessage; text += "\n"; } } if (string.IsNullOrEmpty(text)) { i18nErrorMessage = "Account.Create.Validation.UnknownError"; text += i18nErrorMessage; text += "\n"; } isBaseValidationDone = true; }
private static void Send(AbstractLogger logger, IGuestControllerClient guestControllerClient, ValidateRequest request, Action <IValidateNewAccountResult> callback) { try { guestControllerClient.Validate(request, delegate(GuestControllerResult <ValidateResponse> r) { if (!r.Success) { callback(new ValidateNewAccountResult(success: false, null)); } else { ValidateResponse response = r.Response; if (response.error == null) { callback(new ValidateNewAccountResult(success: true, null)); } else { IValidateNewAccountResult validateResult = GuestControllerErrorParser.GetValidateResult(response.error); if (validateResult != null) { callback(validateResult); } else { IEnumerable <IValidateNewAccountError> validationErrors = GuestControllerErrorParser.GetValidationErrors(response.error); callback(new ValidateNewAccountResult(success: false, validationErrors)); } } } }); } catch (Exception arg) { logger.Critical("Unhandled exception: " + arg); callback(new ValidateNewAccountResult(success: false, null)); } }
private void onSuggestionValidationFailed(IValidateNewAccountResult result) { loginService.OnValidationSuccess -= onSuggestionValidationSuccess; loginService.OnValidationFailed -= onSuggestionValidationFailed; CoroutineRunner.Start(getNextDisplayNameSuggestion(), this, "SuggestedNameValidation"); }
private void onValidationFailed(IValidateNewAccountResult result) { loginService.OnValidationSuccess -= onValidationSuccess; loginService.OnValidationFailed -= onValidationFailed; HasError = true; string text = string.Empty; if (result.Errors != null) { foreach (IValidateNewAccountError error in result.Errors) { object obj = text; text = string.Concat(obj, "\t[", error, "] "); if (error is IValidateNewAccountAccountInUseError) { i18nErrorMessage = "Acount.Create.Validation.AlreadyUsed"; displayNameStub = Regex.Replace(inputString, "[0-9]+$", string.Empty); if (EnableNameSuggestions && numSuggestionRounds < MaxSuggestionRounds && displayNameStub.Length < MaxSuggestedUsernameLength) { numSuggestionRounds++; isNameSuggestionValidationDone = false; currentNumber = 0; int.TryParse(Regex.Replace(inputString, displayNameStub, string.Empty), out currentNumber); suggestedNames = new List <string>(); CoroutineRunner.Start(getDisplayNameSuggestions(), this, "SuggestedNameValidation"); } else { isNameSuggestionValidationDone = true; } } else if (error is IValidateNewAccountMultipleAccountsError) { isNameSuggestionValidationDone = true; Service.Get <MixLoginCreateService>().MultipleAccountsResolutionSend(inputString); Service.Get <PromptManager>().ShowError("Account.Login.Error.MultipleAccountsSameEmail", "Account.Login.Error.ResolveInstructionsEmailSent"); i18nErrorMessage = "Account.Login.Error.MultipleAccountsSameEmail"; } else if (error is IValidateNewAccountNotRegisteredTransactorError) { isNameSuggestionValidationDone = true; Service.Get <MixLoginCreateService>().NonRegisteredTransactorUpgradeSend(inputString); Service.Get <PromptManager>().ShowError("Account.Login.Error.NonRegisteredTransactor", "Account.Login.Error.ResolveInstructionsEmailSent"); i18nErrorMessage = "Account.Login.Error.NonRegisteredTransactor"; } else if (error is IValidateNewAccountNothingToValidateError) { isNameSuggestionValidationDone = true; i18nErrorMessage = Service.Get <Localizer>().GetTokenTranslationFormatted("Account.Create.Validation.Empty", "Account.Create.Validation.UsernameField"); } else if (error is IValidateNewAccountUsernameError) { isNameSuggestionValidationDone = true; i18nErrorMessage = "Account.Create.Validation.InvalidUsername"; } else if (error is IValidateNewAccountRateLimitedError) { isNameSuggestionValidationDone = true; string type = ""; string format = "Account.General.Error.RateLimited"; Service.Get <EventDispatcher>().DispatchEvent(new ApplicationService.Error(type, format)); } text += i18nErrorMessage; text += "\n"; } } if (string.IsNullOrEmpty(text)) { isNameSuggestionValidationDone = true; i18nErrorMessage = "Account.Create.Validation.UnknownError"; text += i18nErrorMessage; text += "\n"; } isBaseValidationDone = true; }