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 RespostaApi Post(GrupoInclusaoDto grupo) => RespostaPadrao(_grupoServico.InserirNovoUsuario(grupo));