Esempio n. 1
0
        public bool IncluirPermissao(string nome, string descricao)
        {
            var dominio = new PermissaoDm(nome, descricao);

            dominio.DefinirMensagens(_mensagens);
            dominio.PossuiCaracteresInvalidos();

            if (_mensagens.PossuiFalhasValidacao())
            {
                throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao);
            }

            bool sucesso = false;

            try
            {
                var permissaoBanco = new PermissaoDpo(dominio.Permissao, dominio.Nome, dominio.Descricao, dominio.Ativo);
                sucesso = _repositorio.InserirPermissao(permissaoBanco);

                if (sucesso)
                {
                    _mensagens.AdicionarMensagem(TipoMensagem.Informativo, MensagensErro.PermissaoSucessoInclusao);
                    return(sucesso);
                }

                _mensagens.AdicionarMensagem(TipoMensagem.Erro, MensagensErro.PermissaoFalhaInclusao);
                return(sucesso);
            }
            catch (SqlException ex)
            {
                _mensagens.AdicionarMensagem(TipoMensagem.Erro, ex.Message);
                return(false);
            }
        }
        public bool IncluirUsuario(UsuarioInclusaoDto usuario)
        {
            if (usuario.Senha != usuario.ConfirmacaoSenha)
            {
                throw new ArgumentException(MensagensErro.UsuarioFalhaConfirmacaoSenha);
            }

            DateTime dataAtual = DateTime.Now;

            GrupoDto grupo = _grupoServico.PesquisarGrupoPorId(usuario.IdGrupo);

            if (grupo == null)
            {
                throw new ArgumentException(MensagensErro.UsuarioGrupoNaoEncontrado);
            }

            var grupoDominio = new GrupoDm(grupo.Id, grupo.Nome, grupo.Descricao, grupo.Pai);

            grupoDominio.DefinirMensagens(_mensagens);

            var pessoa = _pessoaServico.PesquisarPessoaPorId(usuario.IdPessoa);

            if (pessoa == null)
            {
                throw new ArgumentException(MensagensErro.UsuarioPessoaNaoEncontrada);
            }

            var pessoaDominio = new PessoaDm(pessoa.Id, pessoa.Nome, pessoa.Cpf, pessoa.Email, pessoa.Telefone);

            pessoaDominio.DefinirMensagens(_mensagens);

            var dominio = new UsuarioDm(
                0,
                usuario.Usuario,
                usuario.Senha,
                dataAtual,
                true,
                dataAtual,
                usuario.DiasRenovacao,
                grupoDominio,
                pessoaDominio
                );

            dominio.ValidarDados();

            if (_mensagens.PossuiFalhasValidacao())
            {
                throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao);
            }

            var usuarioBanco = new UsuarioDpo(
                dominio.Id,
                dominio.Usuario,
                dominio.Senha.ValorCriptografado,
                dataAtual,
                dataAtual,
                dominio.DiasRenovacao,
                dominio.Ativo,
                dominio.Grupo.Id,
                dominio.Pessoa.Id
                );

            var sucessoInsercao = _UsuarioRepositorio.InserirUsuario(usuarioBanco);

            if (!sucessoInsercao)
            {
                _mensagens.AdicionarMensagem(TipoMensagem.Erro, MensagensErro.UsuarioFalhaInclusao);
            }

            _mensagens.AdicionarMensagem(MensagensErro.UsuarioSucessoInclusao);
            return(sucessoInsercao);
        }