public BaseResponse <GetPasswordResetResponse> CreatePasswordReset(CreatePasswordResetRequest request) { BaseResponse <GetPasswordResetResponse> response = new BaseResponse <GetPasswordResetResponse>(); IRestRequest restRequest = new RestRequest("password-resets/{email}", Method.POST); restRequest.AddUrlSegment("email", request.Email); restRequest.RequestFormat = DataFormat.Json; IRestResponse restResponse = this.RestClient.Execute(restRequest); return(this.HandleResponse <GetPasswordResetResponse>(restResponse)); }
public BaseResponse <GetPasswordResetResponse> CreatePasswordReset(CreatePasswordResetRequest request) { BaseResponse <GetPasswordResetResponse> response = new BaseResponse <GetPasswordResetResponse>(); var user = this.UserRepository.GetUser(request.Email); if (this.IsUserEligibleForRequestPasswordReset(user)) { this.PasswordResetRepository.CancelActivesPasswordResets(user.UserKey); var passwordReset = PasswordReset.New(user.UserKey, this.ConfigurationUtility.PasswordResetExpiresInHours); this.PasswordResetRepository.CreatePasswordReset(passwordReset); response.StatusCode = HttpStatusCode.Created; response.SuccessBody = PasswordResetMapper.Map(passwordReset, user); response.IsSuccess = true; } else { response.StatusCode = HttpStatusCode.NotFound; } return(response); }