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); }
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 })); }