public bool InserirNovoUsuario(GrupoInclusaoDto grupo) { GrupoDpo pai = null; bool possuiPai = false; if (grupo.Pai.HasValue) { possuiPai = true; pai = _repositorio.ObterGrupoPorId(grupo.Pai.Value); if (pai == null) { throw new ArgumentException(MensagensErro.GrupoPaiInvalido); } } var dominio = new GrupoDm(0, grupo.Nome, grupo.Descricao, possuiPai ? grupo.Pai.Value : 0); dominio.DefinirMensagens(_mensagens); dominio.ValidarDados(); if (_mensagens.PossuiFalhasValidacao()) { throw new RegraNegocioException(MensagensErro.RegraNegocioErroValidacao); } var grupoBanco = new GrupoDpo(0, grupo.Nome, grupo.Descricao, possuiPai ? grupo.Pai.Value : 0); var sucesso = _repositorio.AdicionarGrupo(grupoBanco); if (!sucesso) { throw new FalhaExecucaoException(MensagensErro.GrupoFalhaCadastro); } _mensagens.AdicionarMensagem(MensagensErro.GrupoSucessoInclusao); return(sucesso); }
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); }