Exemple #1
0
        public async Task <Guid> Criar(UsuarioCoreSSODto usuario)
        {
            try
            {
                using var conn = new SqlConnection(ConnectionStrings.ConexaoCoreSSO);
                conn.Open();
                using var transaction = conn.BeginTransaction();

                var pessoaId            = Guid.NewGuid();
                var usuId               = Guid.NewGuid();
                var parametrosPessoa    = new { pessoaId, pesNome = usuario.Nome.Trim() };
                var parametrosUsuario   = new { usuId, login = usuario.Cpf.Trim(), senha = usuario.SenhaCriptografada, pessoaId };
                var parametrosPessoaDoc = new { pessoaId, cpf = usuario.Cpf.Trim() };

                await conn.ExecuteAsync(CoreSSOComandos.InserirPessoa, parametrosPessoa, transaction);

                await conn.ExecuteAsync(CoreSSOComandos.InserirUsuario, parametrosUsuario, transaction);

                await conn.ExecuteAsync(CoreSSOComandos.InserirPessoaDocumento, parametrosPessoaDoc, transaction);

                foreach (var grupo in usuario.Grupos)
                {
                    await conn.ExecuteAsync(CoreSSOComandos.InserirUsuarioGrupo, new { gruId = grupo, usuId }, transaction);
                }

                transaction.Commit();
                conn.Close();

                return(usuId);
            }
            catch (Exception ex)
            {
                SentrySdk.CaptureException(ex);
                throw ex;
            }
        }
Exemple #2
0
 public CriarUsuarioCoreSSOCommand(UsuarioCoreSSODto usuario)
 {
     Usuario = usuario;
 }