예제 #1
0
        public IHttpActionResult ChangePasswordToken(AccountInput param)
        {
            try
            {
                string urlBack     = string.Empty;
                bool   showMessage = false;

                if (param != null)
                {
                    urlBack     = param.url_back;
                    showMessage = param.show_change_password_message;
                }

                var changePasswordToken = resetPasswordTokenApp.CreateChangePasswordToken(base.AccountCode, base.ClientId, urlBack, showMessage);

                return(Ok(new
                {
                    url = changePasswordToken.ToString(),
                    token = changePasswordToken.Token
                }));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
예제 #2
0
 public IHttpActionResult ChangePassword(AccountInput param)
 {
     if (param != null)
     {
         if (!string.IsNullOrWhiteSpace(param.password))
         {
             if (!string.IsNullOrWhiteSpace(param.password_new))
             {
                 try
                 {
                     accountApp.ChangeMemberPassword(base.AccountCode, param.password, param.password_new, base.ClientId);
                     return(Ok());
                 }
                 catch (LockedUpMemberException)
                 {
                     return(BadRequest("locked_member"));
                 }
                 catch (PasswordException ex)
                 {
                     return(BadRequest(ex.Message));
                 }
                 catch (ArgumentException ex)
                 {
                     return(BadRequest(ex.Message));
                 }
                 catch (Exception ex)
                 {
                     return(InternalServerError(ex));
                 }
             }
             else
             {
                 return(BadRequest("passwordNew"));
             }
         }
         else
         {
             return(BadRequest("password"));
         }
     }
     else
     {
         return(BadRequest());
     }
 }
예제 #3
0
        public IHttpActionResult ResetPassword(AccountInput param)
        {
            var identity = ActionContext.ActionArguments["identity"] as JwtToken;

            if (param != null)
            {
                try
                {
                    if (!string.IsNullOrWhiteSpace(param.password))
                    {
                        accountApp.ResetMemberPassword(base.AccountCode, identity.name, param.password, base.ClientId);
                        return(Ok());
                    }
                    else
                    {
                        throw new ArgumentException("o parâmetro password não pode ser nulo");
                    }
                }
                catch (LockedUpMemberException ex)
                {
                    return(BadRequest(new ArgumentException(ex.Message)));
                }
                catch (PasswordException ex)
                {
                    return(BadRequest(ex.Message));
                }
                catch (ArgumentException ex)
                {
                    return(BadRequest(ex));
                }
                catch (Exception ex)
                {
                    return(InternalServerError(ex));
                }
            }
            else
            {
                return(BadRequest());
            }
        }
예제 #4
0
        public IHttpActionResult SendResetPasswordEmail(AccountInput param, bool test = false, bool throwError = false)
        {
            try
            {
                var token = resetPasswordTokenApp.GenerateResetPasswordToken(param.email, base.ClientId, param.url_back, param.email_template_code);
#if DEBUG
                if (test)
                {
                    return(Ok(new { reset_password_token = token }));
                }
#endif
                if (throwError && token.IsNullOrWhiteSpace())
                {
                    return(NotFound());
                }

                return(Ok());
            }
            catch (LockedUpMemberException ex)
            {
                return(BadRequest(new ArgumentException(ex.Message)));
            }
            catch (AccountNotFoundException)
            {
                if (throwError)
                {
                    return(NotFound());
                }

                return(Ok());
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
예제 #5
0
 public IHttpActionResult GetMemberByEmail(AccountInput param)
 {
     try
     {
         if (!string.IsNullOrWhiteSpace(param.email))
         {
             return(Ok(accountApp.GetEmail(param.email, base.ClientId)));
         }
         else
         {
             throw new ArgumentException("O parâmetro email não pode ser nulo");
         }
     }
     catch (ArgumentException ex)
     {
         return(BadRequest(ex));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
예제 #6
0
        public IHttpActionResult GetTokenSMS(AccountInput param)
        {
            try
            {
                var account = new DTO.AccountInput()
                {
                    Email    = param.email,
                    Document = param.document,
                    UrlBack  = param.url_back
                };

                var token = accountApp.GetTokenSMS(account, base.ClientId);
                return(Ok(token));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
예제 #7
0
 public IHttpActionResult SendResetPasswordEmailWithCheck(AccountInput param)
 {
     return(SendResetPasswordEmail(param, throwError: true));
 }
예제 #8
0
 public IHttpActionResult SendResetPasswordEmail(AccountInput param)
 {
     return(SendResetPasswordEmail(param, true));
 }