private void tmrMnuContextoLvw_Tick(object sender, EventArgs e) { tmrMnuContextoLvw.Enabled = false; string[] _Split; string _Comando = ""; string _Mensagem = ""; string _TipoObjeto = ""; string _Fonte = ""; string _OwnerNomeObjeto = ""; decimal _IdBackup1 = 0; decimal _IdBackup2 = 0; string _NomeArquivoBackup1 = ""; string _NomeArquivoBackup2 = ""; string _NomeArquivoAtual = ""; string _Linha_de_Comando = ""; _Split = _TagMenuContextoClicado.Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); _Comando = _Split[0]; switch (_Comando) { case "ExtractBackup": Cursor.Current = Cursors.WaitCursor; _IdBackup1 = decimal.Parse(_Split[1]); _Fonte = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem); if (_Fonte.Trim().Length == 0) { if (_Mensagem.Trim().Length > 0) { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { _NomeArquivoBackup1 = "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql"; csUtil.SalvarEAbrir(_Fonte, _NomeArquivoBackup1); } Cursor.Current = Cursors.Default; break; case "CompararBackupComVersaoAtual": Cursor.Current = Cursors.WaitCursor; _IdBackup1 = decimal.Parse(_Split[1]); _Fonte = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem); if (_Fonte.Trim().Length == 0) { if (_Mensagem.Trim().Length > 0) { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { _NomeArquivoBackup1 = Path.GetTempPath() + "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql"; File.WriteAllText(_NomeArquivoBackup1, _Fonte, Encoding.Default); _Fonte = _csOracle.ExtractDDL(_Username, _Password, _Database, _OwnerNomeObjeto, ref _TipoObjeto, ref _Mensagem); _NomeArquivoAtual = Path.GetTempPath() + _OwnerNomeObjeto + ".sql"; File.WriteAllText(_NomeArquivoAtual, _Fonte, Encoding.Default); _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoAtual + "\" /path2:\"" + _NomeArquivoBackup1 + "\""; System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; process.StartInfo.FileName = this.CaminhoExeTortoiseSVN; process.StartInfo.Arguments = _Linha_de_Comando; process.Start(); } Cursor.Current = Cursors.Default; break; case "ExtractBackups": Cursor.Current = Cursors.WaitCursor; _Split = _Split[1].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < _Split.Length; i++) { _IdBackup1 = decimal.Parse(_Split[i]); _Fonte = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem); if (_Fonte.Trim().Length == 0) { if (_Mensagem.Trim().Length > 0) { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { _NomeArquivoBackup1 = "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql"; csUtil.SalvarEAbrir(_Fonte, _NomeArquivoBackup1); } } Cursor.Current = Cursors.Default; break; case "CompararBackups": Cursor.Current = Cursors.WaitCursor; _Split = _Split[1].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); _IdBackup1 = decimal.Parse(_Split[0]); _Fonte = _csOracle.ExtractBackupObjeto(_IdBackup1, ref _OwnerNomeObjeto, ref _Mensagem); if (_Fonte.Trim().Length == 0) { if (_Mensagem.Trim().Length > 0) { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { _NomeArquivoBackup1 = Path.GetTempPath() + "Backup_" + _IdBackup1 + "_" + _OwnerNomeObjeto + ".sql"; File.WriteAllText(_NomeArquivoBackup1, _Fonte, Encoding.Default); _IdBackup2 = decimal.Parse(_Split[1]); _Fonte = _csOracle.ExtractBackupObjeto(_IdBackup2, ref _OwnerNomeObjeto, ref _Mensagem); if (_Fonte.Trim().Length == 0) { if (_Mensagem.Trim().Length > 0) { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup\n" + _Mensagem, "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cursor.Current = Cursors.Default; MessageBox.Show("Problemas para extrair backup", "Extrair Backup", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { _NomeArquivoBackup2 = Path.GetTempPath() + "Backup_" + _IdBackup2 + "_" + _OwnerNomeObjeto + ".sql"; File.WriteAllText(_NomeArquivoBackup2, _Fonte, Encoding.Default); if (_IdBackup1 > _IdBackup2) { _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoBackup1 + "\" /path2:\"" + _NomeArquivoBackup2 + "\""; } else { _Linha_de_Comando = "/command:diff /path:\"" + _NomeArquivoBackup2 + "\" /path2:\"" + _NomeArquivoBackup1 + "\""; } System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; process.StartInfo.FileName = this.CaminhoExeTortoiseSVN; process.StartInfo.Arguments = _Linha_de_Comando; process.Start(); } } Cursor.Current = Cursors.Default; break; } }