/// <summary> /// Asynchronously recovery password using <see cref="PasswordRecoveryDTO" /> options. /// </summary> /// <param name="options">The options.</param> /// <returns>True if password is recovered, false otherwise.</returns> public virtual async Task <bool> PasswordRecoveryAsync(PasswordRecoveryDTO options) { try { using (var client = this.BaasicClientFactory.Create(this.Configuration)) { var request = new HttpRequestMessage(HttpMethod.Put, client.GetApiUrl(this.ModuleRelativePath)) { Content = JsonFormatter.SerializeToHttpContent(options) }; var response = await client.SendAsync(request); return(response.IsSuccessStatusCode); } } catch (BaasicClientException ex) { if (ex.ErrorCode == (int)HttpStatusCode.NotFound) { return(false); } throw; } catch (Exception) { throw; } }
public static Requester RetrieveByActivationKey(string activationKey) { var service = ServiceManager.GetService <PasswordRecoveryService>(); PasswordRecoveryDTO recoveryDTO = service.RetrieveValidByActivationKey(activationKey); if (recoveryDTO == null) { return(null); } return(Requester.Retrieve(recoveryDTO.UserID)); }
/// <summary> /// Asynchronously recovery password using <see cref="PasswordRecoveryDTO" /> options. /// </summary> /// <param name="options">The options.</param> /// <returns>True if password is recovered, false otherwise.</returns> public virtual async Task <bool> PasswordRecoveryAsync(PasswordRecoveryDTO options) { using (var client = this.BaasicClientFactory.Create(this.Configuration)) { var request = new HttpRequestMessage(HttpMethod.Put, client.GetApiUrl(true, this.ModuleRelativePath)) { Content = JsonFormatter.SerializeToHttpContent(options) }; var response = await client.SendAsync(request); return(response.IsSuccessStatusCode); } }