//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); }
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"; } }
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); } }
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(); }