public void Send(string lookupValue, string languageCode, Action <ISendPasswordRecoveryResult> callback) { try { guestControllerClient.RecoverPassword(new RecoverRequest { lookupValue = lookupValue }, languageCode, delegate(GuestControllerResult <NotificationResponse> r) { if (!r.Success) { callback(new SendPasswordRecoveryResult(success: false)); } else { ISendPasswordRecoveryResult recoverPasswordResult = GuestControllerErrorParser.GetRecoverPasswordResult(r.Response.error); if (recoverPasswordResult != null) { callback(recoverPasswordResult); } else { callback(new SendPasswordRecoveryResult(r.Response.data != null)); } } }); } catch (Exception ex) { logger.Critical("Unhandled exception: " + ex); callback(new SendPasswordRecoveryResult(success: false)); } }
private void onPasswordRecoveryFailed(ISendPasswordRecoveryResult result) { if (result is ISendPasswordRecoveryRateLimitedResult) { string type = ""; string format = "Account.General.Error.RateLimited"; Service.Get <EventDispatcher>().DispatchEvent(new ApplicationService.Error(type, format)); } dispatchRecoveryFailed(); }