Exemple #1
0
        //private void CriarEstruturaPastas(string p_Caminho, ArrayList p_ListaOwners)
        //{
        //    p_Caminho = p_Caminho.Trim();
        //    if (Directory.Exists(p_Caminho))
        //    {
        //        if (p_Caminho.Substring(p_Caminho.Length - 1) != "\\")
        //        {
        //            p_Caminho = p_Caminho + "\\";
        //        }
        //        foreach (string _Owner in p_ListaOwners)
        //        {
        //            if (!Directory.Exists(p_Caminho + _Owner))
        //            {
        //                Directory.CreateDirectory(p_Caminho + _Owner);
        //                this.CriarEstruturaPastasTipos(p_Caminho + _Owner);
        //            }
        //        }
        //    }
        //}

        //private void CriarEstruturaPastasTipos(string p_Caminho)
        //{
        //    p_Caminho = p_Caminho.Trim();
        //    if (Directory.Exists(p_Caminho))
        //    {
        //        if (p_Caminho.Substring(p_Caminho.Length - 1) != "\\")
        //        {
        //            p_Caminho = p_Caminho + "\\";
        //        }
        //        foreach (string _Tipo in _TiposPermitidos)
        //        {
        //            if (!Directory.Exists(p_Caminho + _Tipo))
        //            {
        //                Directory.CreateDirectory(p_Caminho + _Tipo);
        //            }
        //        }
        //    }
        //}

        private bool SalvouScriptUser(string p_Caminho, csUsuarioBanco p_csUsuarioBanco)
        {
            bool _Retorno = false;

            p_Caminho = p_Caminho.Trim();
            if (p_Caminho.Substring(p_Caminho.Length - 1) != "\\")
            {
                p_Caminho = p_Caminho + "\\";
            }
            p_Caminho = p_Caminho + p_csUsuarioBanco.Nome + ".sql";
            try
            {
                File.WriteAllText(p_Caminho, p_csUsuarioBanco.ScriptCriacao, Encoding.Default);
                _Retorno = true;
            }
            catch (Exception _Exception)
            {
                MessageBox.Show("Problemas para salvar o arquivo\n" + p_Caminho + "\n" + _Exception.ToString(), "Salvou Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                _Retorno = false;
            }

            return(_Retorno);
        }
Exemple #2
0
        private void btExtrairTxt_Click(object sender, EventArgs e)
        {
            int _QuantUsuariosExtraidos = 0;

            lblStatus.Text = "Validando lista de usuários";
            stStatusStrip.Refresh();
            Application.DoEvents();
            if (txtUsuarios.Text.Trim().Length == 0)
            {
                MessageBox.Show("Nenhum usuário informado", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblStatus.Text = "Parado";
                return;
            }

            string _TestaListaInvalida = txtUsuarios.Text.Trim().ToUpper();

            _TestaListaInvalida = _TestaListaInvalida.Replace("\n", "");
            _TestaListaInvalida = _TestaListaInvalida.Replace("\r", "");
            foreach (char _Char in Path.GetInvalidFileNameChars())
            {
                if (_TestaListaInvalida.IndexOf(_Char) > -1)
                {
                    MessageBox.Show("Lista de usuários inválida!", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    lblStatus.Text = "Parado";
                    return;
                }
            }

            if (!this.EstaConectado)
            {
                if (!this.ConectouNoBanco())
                {
                    lblStatus.Text = "Parado";
                    return;
                }
            }

            // Se tem só um nome de usuário no txtUsuarios.Text, extrai o script e joga na clipboard
            if ((txtUsuarios.Text.IndexOf("\n") < 0) && (txtUsuarios.Text.IndexOf("\r") < 0) && (txtUsuarios.Text.Trim().Length > 0))
            {
                this.MostraScriptUser(txtUsuarios.Text.Trim().ToUpper());
                return;
            }

            if (txtCaminhoTxt.Text.Trim().Length == 0)
            {
                MessageBox.Show("Informe o caminho", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblStatus.Text = "Parado";
                return;
            }

            lblStatus.Text = "Verificando se existe a pasta informada";
            stStatusStrip.Refresh();
            Application.DoEvents();
            if (Directory.Exists(txtCaminhoTxt.Text))
            {
                csUtil.SalvarPreferencia("PastaPadraoSalvarArquivos", txtCaminhoTxt.Text);
                Cursor.Current = Cursors.WaitCursor;
                string   _TextoUsuarios = txtUsuarios.Text.Trim().ToUpper();
                string[] _SplitUsuarios;
                _TextoUsuarios = _TextoUsuarios.Replace("\r", "");
                _SplitUsuarios = _TextoUsuarios.Split("\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                lblStatus.Text = "Criando estrutura de pastas";
                stStatusStrip.Refresh();
                Application.DoEvents();
                if (!Directory.Exists(txtCaminhoTxt.Text + "\\USUARIOS"))
                {
                    Directory.CreateDirectory(txtCaminhoTxt.Text + "\\USUARIOS");
                }

                string         _Mensagem       = "";
                string         _ScriptCriacao  = "";
                csUsuarioBanco _csUsuarioBanco = new csUsuarioBanco();

                lblStatus.Text = "Montando lista de usuários";
                stStatusStrip.Refresh();
                Application.DoEvents();
                // Eliminando usuários duplicados
                ArrayList _ListaUsuarios = new ArrayList();
                foreach (string _strUsuario in _SplitUsuarios)
                {
                    if (_ListaUsuarios.IndexOf(_strUsuario) == -1)
                    {
                        _ListaUsuarios.Add(_strUsuario.Trim());
                    }
                }
                pbrStatus.Minimum = 0;
                pbrStatus.Maximum = _ListaUsuarios.Count;
                pbrStatus.Value   = 0;
                foreach (string _strUsuario in _ListaUsuarios)
                {
                    pbrStatus.Value++;
                    stStatusStrip.Refresh();
                    Application.DoEvents();
                    _csUsuarioBanco.Nome = _strUsuario;
                    _ScriptCriacao       = "";

                    lblStatus.Text = (_QuantUsuariosExtraidos + 1).ToString() + " de " + pbrStatus.Maximum.ToString() + " - Extraindo Script do usuário " + _csUsuarioBanco.Nome;
                    stStatusStrip.Refresh();
                    Application.DoEvents();

                    _ScriptCriacao = _csOracle.ExtractDDLUser(_Username, _Password, _Database, _csUsuarioBanco.Nome, ref _Mensagem);


                    if (_Mensagem.Trim().Length > 0)
                    {
                        MessageBox.Show("Problemas ao extrair script do usuário " + _csUsuarioBanco.Nome + "\n" + _Mensagem, "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        _csUsuarioBanco.ScriptCriacao = _ScriptCriacao;
                        lblStatus.Text = (_QuantUsuariosExtraidos + 1).ToString() + " de " + pbrStatus.Maximum.ToString() + " - Salvando arquivo para o usuário " + _csUsuarioBanco.Nome;
                        stStatusStrip.Refresh();
                        Application.DoEvents();
                        if (this.SalvouScriptUser(txtCaminhoTxt.Text, _csUsuarioBanco))
                        {
                            _QuantUsuariosExtraidos++;
                        }
                    }
                }
                Cursor.Current = Cursors.Default;
                lblStatus.Text = "Parado";
                MessageBox.Show("Extraídos " + _QuantUsuariosExtraidos + " usuários!", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Process.Start("explorer.exe", txtCaminhoTxt.Text);
                pbrStatus.Value = 0;
            }
            else
            {
                MessageBox.Show("Caminho inválido\n" + txtCaminhoTxt.Text, "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblStatus.Text = "Parado";
            }
        }
Exemple #3
0
        private void btExtrairLvw_Click(object sender, EventArgs e)
        {
            int          _QuantUsuariosExtraidos = 0;
            string       _Mensagens = "";
            DialogResult _Resposta;

            lblStatus.Text = "Validando lista de usuários";
            stStatusStrip.Refresh();
            //this.Refresh();
            Application.DoEvents();
            if (lvwUsuarios.CheckedItems.Count == 0)
            {
                MessageBox.Show("Nenhum usuário selecionado", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblStatus.Text = "Parado";
                return;
            }
            if (txtCaminhoLvw.Text.Trim().Length == 0)
            {
                MessageBox.Show("Informe o caminho", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblStatus.Text = "Parado";
                return;
            }

            if (!this.EstaConectado)
            {
                if (!this.ConectouNoBanco())
                {
                    lblStatus.Text = "Parado";
                    return;
                }
            }

            lblStatus.Text = "Verificando se existe a pasta informada";
            stStatusStrip.Refresh();
            Application.DoEvents();
            if (Directory.Exists(txtCaminhoLvw.Text))
            {
                csUtil.SalvarPreferencia("PastaPadraoSalvarArquivos", txtCaminhoLvw.Text);
                Cursor.Current = Cursors.WaitCursor;
                lblStatus.Text = "Criando estrutura de pastas";
                stStatusStrip.Refresh();
                Application.DoEvents();
                if (!Directory.Exists(txtCaminhoLvw.Text + "\\USUARIOS"))
                {
                    Directory.CreateDirectory(txtCaminhoLvw.Text + "\\USUARIOS");
                }

                string         _Mensagem       = "";
                string         _ScriptCriacao  = "";
                csUsuarioBanco _csUsuarioBanco = new csUsuarioBanco();

                pbrStatus.Minimum = 0;
                pbrStatus.Maximum = lvwUsuarios.CheckedItems.Count;
                pbrStatus.Value   = 0;
                foreach (ListViewItem lvwItem in lvwUsuarios.CheckedItems)
                {
                    pbrStatus.Value++;
                    stStatusStrip.Refresh();
                    Application.DoEvents();
                    _csUsuarioBanco.Nome = lvwItem.Text;
                    _ScriptCriacao       = "";

                    lblStatus.Text = pbrStatus.Value.ToString() + " de " + pbrStatus.Maximum.ToString() + " - Extraindo script do usuário " + _csUsuarioBanco.Nome;
                    stStatusStrip.Refresh();
                    Application.DoEvents();

                    _ScriptCriacao = _csOracle.ExtractDDLUser(_Username, _Password, _Database, _csUsuarioBanco.Nome, ref _Mensagem);


                    if (_Mensagem.Trim().Length > 0)
                    {
                        _Mensagens = _Mensagens + _Mensagem + "\n";
                        //MessageBox.Show("Problemas ao extrair DDL do objeto " + _ObjetoDeBanco.Owner + "." + _ObjetoDeBanco.Nome + "\n" + _Mensagem, "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        //return;
                    }
                    else
                    {
                        _csUsuarioBanco.ScriptCriacao = _ScriptCriacao;
                        lblStatus.Text = (_QuantUsuariosExtraidos + 1).ToString() + " de " + pbrStatus.Maximum.ToString() + " - Salvando arquivo para o usuário " + _csUsuarioBanco.Nome;
                        stStatusStrip.Refresh();
                        Application.DoEvents();
                        if (this.SalvouScriptUser(txtCaminhoLvw.Text + "\\USUARIOS\\", _csUsuarioBanco))
                        {
                            _QuantUsuariosExtraidos++;
                        }
                    }
                }
                Cursor.Current = Cursors.Default;
                lblStatus.Text = "Parado";
                if (_Mensagens.Trim().Length > 0)
                {
                    _Resposta = MessageBox.Show("Extraídos " + _QuantUsuariosExtraidos + " usuários!\nDeseja ver as mensagens de erro?\n", "Extract Script Usuário", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (_Resposta == DialogResult.Yes)
                    {
                        MessageBox.Show(_Mensagens, "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Extraídos " + _QuantUsuariosExtraidos + " usuários!", "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                Process.Start("explorer.exe", txtCaminhoLvw.Text);
                pbrStatus.Value = 0;
            }
            else
            {
                MessageBox.Show("Caminho inválido\n" + txtCaminhoLvw.Text, "Extract Script Usuário", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #4
0
        private void btListarUsuarios_Click(object sender, EventArgs e)
        {
            if (!this.EstaConectado)
            {
                if (!this.ConectouNoBanco())
                {
                    return;
                }
            }
            this.Show();
            string _Where = "";

            if (cboOwners.Text.Trim().Length == 0 && cboProfile.Text.Trim().Length == 0 && txtNomeUsuario.Text.Trim().Length == 0)
            {
                DialogResult _Resp;
                _Where = (string)csUtil.CarregarPreferencia("FiltroPesquisaUsuarios");
                _Resp  = csUtil.InputBox("Deseja informar um filtro?", "Não colocar WHERE nem o primeiro AND", ref _Where);
                if (_Resp != DialogResult.OK)
                {
                    return;
                }
                else
                {
                    csUtil.SalvarPreferencia("FiltroPesquisaUsuarios", _Where);
                }
            }
            Cursor.Current = Cursors.WaitCursor;
            lvwUsuarios.Items.Clear();
            chkSelecionarTodos.Checked = false;
            lblStatusLista.Text        = lvwUsuarios.Items.Count.ToString() + " usuários listados - " + lvwUsuarios.CheckedItems.Count.ToString() + " usuários selecionados";
            lblStatusLista.Refresh();
            Application.DoEvents();
            lvwColumnSorter.SortColumn = 0;
            ArrayList _Lista = _csOracle.ListaUsuarios(_Username, _Password, _Database, cboOwners.Text, cboProfile.Text, txtNomeUsuario.Text, _Where);

            if (_Lista != null)
            {
                if (_Lista.Count > 0)
                {
                    csUsuarioBanco _csUsuarioBanco          = null;
                    ListViewItem   lvwItem                  = null;
                    ListViewItem.ListViewSubItem lvwSubItem = null;
                    _PreenchendoLvw = true;
                    for (int i = 0; i < _Lista.Count; i++)
                    {
                        _csUsuarioBanco = (csUsuarioBanco)_Lista[i];
                        lvwItem         = lvwUsuarios.Items.Add(_csUsuarioBanco.Nome);
                        lvwItem.UseItemStyleForSubItems = false;
                        lvwItem.SubItems.Add(_csUsuarioBanco.DataCriacao.ToString("dd/MM/yy HH:mm:ss"));
                        lvwItem.SubItems.Add(_csUsuarioBanco.Profile);
                        lvwItem.SubItems.Add(_csUsuarioBanco.Status);

                        if (_csUsuarioBanco.DataLock > DateTime.MinValue)
                        {
                            lvwItem.SubItems.Add(_csUsuarioBanco.DataLock.ToString("dd/MM/yy HH:mm:ss"));
                        }
                        else
                        {
                            lvwSubItem           = lvwItem.SubItems.Add(_csUsuarioBanco.DataLock.ToString("dd/MM/yy HH:mm:ss"));
                            lvwSubItem.ForeColor = Color.Transparent;
                            lvwSubItem.ForeColor = Color.Transparent;
                        }

                        if (_csUsuarioBanco.DataExpiracao > DateTime.MinValue)
                        {
                            lvwItem.SubItems.Add(_csUsuarioBanco.DataExpiracao.ToString("dd/MM/yy HH:mm:ss"));
                        }
                        else
                        {
                            lvwSubItem           = lvwItem.SubItems.Add(_csUsuarioBanco.DataExpiracao.ToString("dd/MM/yy HH:mm:ss"));
                            lvwSubItem.ForeColor = Color.Transparent;
                            lvwSubItem.ForeColor = Color.Transparent;
                        }

                        if (_csUsuarioBanco.UltimoLogin > DateTime.MinValue)
                        {
                            lvwItem.SubItems.Add(_csUsuarioBanco.UltimoLogin.ToString("dd/MM/yy HH:mm:ss"));
                        }
                        else
                        {
                            lvwSubItem           = lvwItem.SubItems.Add(_csUsuarioBanco.UltimoLogin.ToString("dd/MM/yy HH:mm:ss"));
                            lvwSubItem.ForeColor = Color.Transparent;
                            lvwSubItem.ForeColor = Color.Transparent;
                        }
                    }
                    _PreenchendoLvw = false;
                }
            }
            Cursor.Current      = Cursors.Default;
            lblStatusLista.Text = lvwUsuarios.Items.Count.ToString() + " usuários listados - " + lvwUsuarios.CheckedItems.Count.ToString() + " usuários selecionados";
            lblStatusLista.Refresh();
            Application.DoEvents();
        }