示例#1
0
        public void AlterarSenha(int codigoUsuario, AlterarSenhaRequest request)
        {
            if (request.SenhaAntiga == request.SenhaNova)
            {
                throw new Exception("A senha antiga é a mesma que a nova");
            }

            if (request.SenhaNova != request.SenhaNovaConfirme)
            {
                throw new Exception("As senhas não são parecidas!");
            }

            try
            {
                unitOfWork.BeginTransaction();

                usuarioRepositorio.AlterarSenha(codigoUsuario, request.SenhaNova);

                unitOfWork.Commit();
            }
            catch
            {
                unitOfWork.Rollback();
                throw;
            }
            finally
            {
                unitOfWork.Dispose();
            }
        }
示例#2
0
        public ResponseBase AlterarSenha(Guid usuarioId, AlterarSenhaRequest request)
        {
            if (request == null)
            {
                AddNotification("AlterarSenha", "Objeto 'AlterarSenhaRequest' é obrigatório");
                return(null);
            }

            var usuario = _repositoryUsuario.ObterEntidade(usuarioId);

            if (usuario == null)
            {
                AddNotification("Usuário", "Usuário não Localizado!");
                return(null);
            }

            usuario.AlterarSenha(request.Senha, request.NovaSenha, request.ConfirmarNovaSenha);
            AddNotifications(usuario);

            if (Invalid)
            {
                return(null);
            }

            _repositoryUsuario.Atualizar(usuario);
            Commit();

            return(new ResponseBase
            {
                Message = "Senha Alterada com Sucesso"
            });
        }
示例#3
0
        public string ResponderSalvar()
        {
            try
            {
                ValidarHistoricoDeSenha();

                if (GetSenhaNova.Length <= 5)
                {
                    return(RetornarErroAjax("Nova senha deve conter mais que 6 digitos."));
                }
                else if (GetSenhaNova != GetSenhaConfirma)
                {
                    return(RetornarErroAjax("Nova senha não confere com a comfirmação da senha."));
                }
                else
                {
                    AlterarSenhaRequest lReq = new AlterarSenhaRequest()
                    {
                        SenhaAtual             = Criptografia.CalculateMD5Hash(GetSenhaAtual),
                        NovaSenha              = Criptografia.CalculateMD5Hash(GetSenhaNova),
                        CodigoSessao           = this.CodigoSessao,
                        DescricaoUsuarioLogado = base.UsuarioLogado.Nome,
                        IdUsuarioLogado        = base.UsuarioLogado.Id
                    };

                    MensagemResponseBase lRes = ServicoSeguranca.AlterarSenha(lReq);

                    GravarHistoricoSenha();

                    if (lRes.StatusResposta == MensagemResponseStatusEnum.OK)
                    {
                        base.RegistrarLogAlteracao(new Contratos.Dados.Cadastro.LogIntranetInfo()
                        {
                            IdLoginClienteAfetado = base.UsuarioLogado.Id, DsObservacao = string.Concat("Senha alterada para o cliente: ", base.UsuarioLogado.Id)
                        });
                        return(RetornarSucessoAjax("Senha alterada com sucesso"));
                    }
                    else
                    {
                        if (lRes.StatusResposta == MensagemResponseStatusEnum.ErroNegocio)
                        {
                            string lCritica = "";
                            foreach (var item in lRes.Criticas)
                            {
                                lCritica += item.Descricao + Environment.NewLine;
                            }
                            return(RetornarErroAjax(lCritica));
                        }
                        else
                        {
                            return(RetornarErroAjax(lRes.DescricaoResposta));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(RetornarErroAjax("Não foi possível alterar a senha: " + ex.Message));
            }
        }
        public ResponseBase <bool> AlterarSenha(int id, AlterarSenhaRequest request)
        {
            ResponseBase <bool> br = new ResponseBase <bool>();

            #region Validação

            if (id == 0)
            {
                br.Mensagens.Add(BadRequest().ToString());
                return(br);
            }

            #endregion

            using (UsuarioAppService appService = new UsuarioAppService(_configuration, _contexto))
            {
                ResponseBase <UsuarioDTO> dto = ObterUsuarioRequest();

                if (dto.Autorizado)
                {
                    appService.UsuarioLogado = dto.Objeto;
                    // TODO: Senha
                    br = appService.AlterarSenha(id, request);
                }
                else
                {
                    br.Mensagens = dto.Mensagens;
                }

                br.Autorizado  = dto.Autorizado;
                br.TempoLevado = appService.swTempoRequisicao.Elapsed;

                return(br);
            }
        }
示例#5
0
        public async Task <ActionResult <dynamic> > AlterarASenha([FromBody] AlterarSenhaRequest request)
        {
            try
            {
                // Recupera o usuário
                _usuariosService.AlterarSenha(request.Email, request.ResetToken, request.NovaSenha);

                return(Ok("Senha alterada com sucesso"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#6
0
        public void AlterarSenha(AlterarSenhaRequest request)
        {
            if (Email.ToString() != request.Email)
            {
                AddNotification("E-mail", Message.O_CAMPO_X0_E_INVALIDO.ToFormat("E-mail"));
            }

            if (!request.NovaSenha.ValidateLength(8, 32))
            {
                AddNotification("Senha", Message.O_CAMPO_X0_DEVE_TER_ENTRE_X1_E_X2_CARACTERES.ToFormat("Senha", "8", "32"));
            }

            if (IsValid())
            {
                Senha = request.NovaSenha.ToHash();
            }
        }
示例#7
0
 public IHttpActionResult AlterarSenha([FromUri] int codigoUsuario, [FromBody] AlterarSenhaRequest request)
 {
     usuarioAppServico.AlterarSenha(codigoUsuario, request);
     return(Ok());
 }
示例#8
0
 public Task <HttpResponseMessage> AlterarSenha(AlterarSenhaRequest request)
 {
     return(CreateResponse(HttpStatusCode.OK, _serviceUsuario.AlterarSenha(InfoToken.UsuarioId, request), _serviceUsuario.GetNotifications()));
 }
 public ResponseBase <bool> AlterarSenha(int id, AlterarSenhaRequest request)
 {
     throw new NotImplementedException();
 }