public IActionResult ResetPassword([FromBody] ResetUsuarioRequest resetUsuarioRequest) { using (var context = new ClubVanContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { var response = this.usuarioBusiness.RedefinirSenhaUsuario(resetUsuarioRequest); dbContextTransaction.Commit(); return(base.Ok(response)); } catch (System.Exception e) { dbContextTransaction.Rollback(); this.logger.LogInformation($"Erro:{e.Message}"); return(base.BadRequest(e)); } } } }
public ResetUsuarioResponse RedefinirSenhaUsuario(ResetUsuarioRequest resetUsuarioRequest) { var usuario = this.usuarioDao.FindByEmail(resetUsuarioRequest.Email); if (usuario == null) { throw new Exception("O usuario informado não existe"); } else { var senha = GerarSenha(); usuario.Senha = this.CalculaHash(senha); this.usuarioDao.Atualizar(usuario); this.EnviarEmail(senha, resetUsuarioRequest.Email); return(new ResetUsuarioResponse(usuario.Id)); } }