public void Salvar(Administrador obj, String senha, String ConfirmarSenha, bool AlterarSenha) { BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(); try { if (_validar.Salvar(obj, senha, ConfirmarSenha, AlterarSenha)) { #region Mensagem Mensagem msgSucesso = Mensagem.Administrador.Salvar; if (obj.Id > 0) { msgSucesso = Mensagem.Administrador.Editar; } #endregion bancoDeDados = BancoDeDados.ObterInstancia(); bancoDeDados.IniciarTransacao(); GerenciadorTransacao.ObterIDAtual(); #region Usuario string hashSenha = GerenciarAutenticacao.Criptografar(obj.Usuario.Login, senha); AutenticacaoExecutor executor = GerenciarAutenticacao.ObterAutenticacaoExecutor(); if (obj.Usuario.Id <= 0) { _busUsuario.Salvar(obj.Usuario, hashSenha, executor, bancoDeDados); } else { if (!String.IsNullOrEmpty(senha)) { _busUsuario.AlterarSenha(obj.Usuario, hashSenha, executor, bancoDeDados); obj.Situacao = 3; //Alterar senha } } #endregion #region Funcionário _da.Salvar(obj, bancoDeDados); #endregion bancoDeDados.Commit(); Validacao.Add(msgSucesso); } } catch (Exception exc) { bancoDeDados.Rollback(); Validacao.AddErro(exc); } finally { bancoDeDados.Dispose(); } }
public bool AlterarSenha(String login, String senha, String novaSenha, String confirmarNovaSenha, BancoDeDados banco = null) { if (!_validar.AlterarSenha(login, senha, novaSenha, confirmarNovaSenha)) { return(false); } Usuario usuario = _busUsuario.ValidarUsuario(login, GerenciarAutenticacao.Criptografar(login, senha)); if (usuario == null || usuario.Id == 0) { Validacao.Add(Mensagem.Login.LoginSenhaInvalido); return(false); } string senhaNovaHash = GerenciarAutenticacao.Criptografar(login, novaSenha); if (_busUsuario.VerificarHistoricoSenha(usuario.Id, senhaNovaHash, _configUsuario.Obter <Int32>(ConfiguracaoUsuario.keyQtdVerificaoUltimaSenha))) { Validacao.Add(Mensagem.Login.HistoricoSenha(_configUsuario.Obter <Int32>(ConfiguracaoUsuario.keyQtdVerificaoUltimaSenha))); return(false); } CredenciadoPessoa credenciado = _da.ObterCredenciadoExecutor(login); AutenticacaoExecutor executor = GerenciarAutenticacao.ObterAutenticacaoExecutor(); if (executor == null) { executor = new AutenticacaoExecutor(); executor.Tipo = (int)eCredenciadoSituacao.Ativo; executor.UsuarioId = credenciado.Usuario.Id; executor.Tid = credenciado.Tid; } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _busUsuario.AlterarSenha(usuario, senhaNovaHash, executor, bancoDeDados); _da.AlterarSenha(usuario.Id, credenciado, bancoDeDados); bancoDeDados.Commit(); } Validacao.Add(Mensagem.Login.SenhaAlterada); return(true); }
public bool Salvar(Funcionario funcionario, String senha, String ConfirmarSenha) { try { if (_validar.Salvar(funcionario, senha, ConfirmarSenha)) { #region Mensagem Mensagem msgSucesso = Mensagem.Funcionario.Salvar; if (funcionario.Id > 0) { msgSucesso = Mensagem.Funcionario.Editar; } if (funcionario.Id > 0 && funcionario.Tipo != 3) { throw new Exception("Tipo de funcionário inválido"); } #endregion #region Arquivos/Diretorio ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); if (funcionario.Arquivo != null && !String.IsNullOrWhiteSpace(funcionario.Arquivo.TemporarioNome)) { if (funcionario.Arquivo.Id == 0) { funcionario.Arquivo = _busArquivo.Copiar(funcionario.Arquivo); } } #endregion GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); #region Usuario string hashSenha = GerenciarAutenticacao.Criptografar(funcionario.Usuario.Login, senha); AutenticacaoExecutor executor = GerenciarAutenticacao.ObterAutenticacaoExecutor(); if (funcionario.Usuario.Id <= 0) { _busUsuario.Salvar(funcionario.Usuario, hashSenha, executor, bancoDeDados); } else { if (!String.IsNullOrEmpty(senha)) { _busUsuario.AlterarSenha(funcionario.Usuario, hashSenha, executor, bancoDeDados); funcionario.Situacao = 5; //Alterar senha } } #endregion #region Arquivos/Banco ArquivoDa arquivoDa = new ArquivoDa(); if (funcionario.Arquivo != null && !String.IsNullOrWhiteSpace(funcionario.Arquivo.TemporarioNome)) { if (funcionario.Arquivo.Id == 0) { arquivoDa.Salvar(funcionario.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); } } #endregion _da.Salvar(funcionario, bancoDeDados); bancoDeDados.Commit(); } Validacao.Add(msgSucesso); } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }