Exemple #1
0
        private void trvUsuario_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node.Nodes[0].Tag != null)
            {
                if (e.Node.Nodes[0].Tag.ToString() == "FAKE")
                {
                    string    _NomeUser    = e.Node.Parent.Text;
                    TreeNode  _Node        = null;
                    ArrayList _Retorno     = null;
                    string    _NomeRole    = "";
                    string    _TipoObjRole = "";
                    int       _Pos         = -1;
                    string    _NomeProfile = "";
                    string    _TipoProfile = "";

                    Cursor.Current = Cursors.WaitCursor;

                    switch (e.Node.Nodes[0].Text)
                    {
                        #region case PROP
                    case "PROP":
                        switch (e.Node.Text)
                        {
                        case "Tablespaces":
                            e.Node.Nodes.Clear();
                            _Retorno = _csOracle.ListaCotasTablespaceUser(_Username, _Password, _Database, _NomeUser);
                            for (int i = 0; i < _Retorno.Count; i++)
                            {
                                _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                            }
                            e.Node.Expand();
                            break;

                        case "Privilégios":
                            e.Node.Nodes.Clear();
                            _Retorno = _csOracle.ListaPrivUser(_Username, _Password, _Database, _NomeUser);
                            for (int i = 0; i < _Retorno.Count; i++)
                            {
                                _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                            }
                            e.Node.Expand();
                            break;

                        case "Roles":
                            e.Node.Nodes.Clear();
                            _Retorno = _csOracle.ListaRolesUser(_Username, _Password, _Database, _NomeUser);
                            for (int i = 0; i < _Retorno.Count; i++)
                            {
                                _Node     = e.Node.Nodes.Add(_Retorno[i].ToString());
                                _Node     = _Node.Nodes.Add("ROLE");
                                _Node.Tag = "FAKE";
                            }
                            e.Node.Expand();
                            break;

                        case "Grants":
                            e.Node.Nodes.Clear();
                            _Retorno = _csOracle.ListaNoRolesGrantsUser(_Username, _Password, _Database, _NomeUser);
                            for (int i = 0; i < _Retorno.Count; i++)
                            {
                                _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                            }
                            e.Node.Expand();
                            break;
                        }

                        break;

                        #endregion
                        #region case ROLE
                    case "ROLE":

                        _NomeRole = e.Node.Text;
                        _Pos      = _NomeRole.IndexOf(":");
                        if (_Pos <= -1)
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para identificar o nome da role " + _NomeRole, "Pesquisar propriedades do Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            _NomeRole = _NomeRole.Substring(0, _Pos);
                        }
                        e.Node.Nodes.Clear();

                        _Retorno = _csOracle.ListaPrivSysRole(_Username, _Password, _Database, _NomeRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }

                        _Retorno = _csOracle.ListaTiposObjRole(_Username, _Password, _Database, _NomeRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node     = e.Node.Nodes.Add(_Retorno[i].ToString());
                            _Node     = _Node.Nodes.Add("OBJ ROLE");
                            _Node.Tag = "FAKE";
                        }
                        e.Node.Expand();
                        break;

                        #endregion
                        #region case OBJ ROLE
                    case "OBJ ROLE":

                        _NomeRole    = e.Node.Parent.Text;
                        _TipoObjRole = e.Node.Text;
                        _Pos         = _NomeRole.IndexOf(":");
                        if (_Pos <= -1)
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para identificar o nome da role " + _NomeRole, "Pesquisar propriedades do Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            _NomeRole = _NomeRole.Substring(0, _Pos);
                        }
                        e.Node.Nodes.Clear();

                        _Retorno = _csOracle.ListaPrivRoleObj(_Username, _Password, _Database, _NomeRole, _TipoObjRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }
                        e.Node.Expand();
                        break;

                        #endregion
                        #region case PROFILE
                    case "PROFILE":

                        _NomeProfile = e.Node.Text;
                        _Pos         = _NomeProfile.IndexOf(":");
                        if (_Pos <= -1)
                        {
                            Cursor.Current = Cursors.Default;
                            MessageBox.Show("Problemas para identificar o nome do PROFILE " + _NomeProfile, "Pesquisar propriedades do Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        else
                        {
                            _NomeProfile = _NomeProfile.Substring(_Pos + 1);
                            _NomeProfile = _NomeProfile.Trim().ToUpper();
                        }
                        e.Node.Nodes.Clear();

                        TreeNode _NodeKernel   = null;
                        TreeNode _NodePassword = null;

                        _NodeKernel   = e.Node.Nodes.Add("KERNEL");
                        _NodePassword = e.Node.Nodes.Add("PASSWORD");

                        _Retorno = _csOracle.ListaDetalheProfile(_Username, _Password, _Database, _NomeProfile);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Pos         = _Retorno[i].ToString().IndexOf(".");
                            _TipoProfile = _Retorno[i].ToString().Substring(0, _Pos);

                            if (_TipoProfile == "KERNEL")
                            {
                                _Node = _NodeKernel.Nodes.Add(_Retorno[i].ToString().Substring(_Pos + 1));
                            }
                            else
                            {
                                _Node = _NodePassword.Nodes.Add(_Retorno[i].ToString().Substring(_Pos + 1));
                            }
                        }
                        e.Node.Expand();
                        _NodeKernel.Expand();
                        _NodePassword.Expand();
                        break;

                        #endregion
                        #region case HORACIUS
                    case "HORACIUS":

                        e.Node.Nodes.Clear();

                        _Retorno = _csOracle.ListaPerfilHoracius(_Username, _Password, _Database, _NomeUser);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }
                        e.Node.Expand();
                        break;
                        #endregion
                    }

                    Cursor.Current = Cursors.Default;
                }
            }
        }
Exemple #2
0
        private void trvRole_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            if (e.Node.Nodes[0].Tag != null)
            {
                if (e.Node.Nodes[0].Tag.ToString() == "FAKE")
                {
                    TreeNode  _Node        = null;
                    ArrayList _Retorno     = null;
                    string    _NomeRole    = "";
                    string    _TipoObjRole = "";

                    Cursor.Current = Cursors.WaitCursor;

                    switch (e.Node.Nodes[0].Text)
                    {
                        #region case USUARIOS
                    case "USUARIOS":
                        _NomeRole = trvRole.Nodes[0].Text;
                        e.Node.Nodes.Clear();
                        _Retorno = _csOracle.ListaUsuariosRole(_Username, _Password, _Database, _NomeRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }
                        e.Node.Expand();
                        break;

                        #endregion
                        #region case ROLE
                    case "ROLE":

                        _NomeRole = trvRole.Nodes[0].Text;
                        e.Node.Nodes.Clear();

                        _Retorno = _csOracle.ListaPrivSysRole(_Username, _Password, _Database, _NomeRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }

                        _Retorno = _csOracle.ListaTiposObjRole(_Username, _Password, _Database, _NomeRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node     = e.Node.Nodes.Add(_Retorno[i].ToString());
                            _Node     = _Node.Nodes.Add("OBJ ROLE");
                            _Node.Tag = "FAKE";
                        }
                        e.Node.Expand();
                        break;

                        #endregion
                        #region case OBJ ROLE
                    case "OBJ ROLE":

                        _NomeRole    = trvRole.Nodes[0].Text;
                        _TipoObjRole = e.Node.Text;
                        e.Node.Nodes.Clear();

                        _Retorno = _csOracle.ListaPrivRoleObj(_Username, _Password, _Database, _NomeRole, _TipoObjRole);
                        for (int i = 0; i < _Retorno.Count; i++)
                        {
                            _Node = e.Node.Nodes.Add(_Retorno[i].ToString());
                        }
                        e.Node.Expand();
                        break;
                        #endregion
                    }

                    Cursor.Current = Cursors.Default;
                }
            }
        }