Ejemplo n.º 1
0
        public IComandResult TrocarSenha([FromBody] TrocarSenhaUsuarioComand command)
        {
            var user = Guid.Parse(this.User.Identity.Name);

            command.SetarUsuarioId(user);

            var result = (ComandResult)_usuarioHandler.Handle(command);

            this.Commit(result.Success);


            return(result);
        }
Ejemplo n.º 2
0
        public IComandResult Handle(TrocarSenhaUsuarioComand comand)
        {
            //verificar se tem notificação no comand
            if (!comand.IsValid())
            {
                return(new ComandResult(false, "Por favor corrija os campos abaixo", comand.Notifications));
            }

            var _usuario = _repository.Existe(comand.UsuarioId);

            if (_usuario.Login != comand.Login)
            {
                AddNotification("Usuario", "Email não encontrado,digite o email cadastrado no App");
                //return new ComandResult(false, "Email não encontrado,digite o email cadastrado no App.",new { });
            }



            //verifica se o usuário ja existe
            var usuario = _repository.Autenticar(comand.Login, comand.Senha);

            if (usuario == null)
            {
                AddNotification("Usuario", "Senha ou email inválidos!");
                //return new ComandResult(false, "Senha ou email inválidos!", Notifications);
            }
            else
            {
                var chaveSenha = Functions.GetRandomString();
                var _senha     = Crypto.EncriptarSenha(comand.SenhaNova, chaveSenha);
                usuario.TrocarSenha(_senha, chaveSenha);

                _repository.Alterar(usuario);
            }


            if (Invalid)
            {
                return(new ComandResult(false, "Por favor corrija os campos abaixo", Notifications));
            }



            return(new ComandResult(true, "Senha alterada com sucesso", new { usuario.Id, usuario.Login, usuario.Nome, usuario.SobreNome, usuario.Foto, usuario.TipoUsuario }));
        }