Exemple #1
0
        /// <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;
            }
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        /// <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);
            }
        }