private void onCompletedHandler(DumpResultSet status) { if (status != null) { lStatus.Invoke((MethodInvoker) delegate() { lStatus.Text = "Completed"; }); pbDumpExec.Invoke((MethodInvoker) delegate() { pbDumpExec.Value = pbDumpExec.Maximum; }); if (status.wasSuccessful) { string prefix = null; if (cIncrementalFormat.Checked) { this.Invoke((MethodInvoker) delegate() { List <int> locations = new List <int>(); foreach (ListViewItem item in lbSaveLocations.Items) { Object loc = item.Tag; locations.Add(Convert.ToInt32(((firedumpdbDataSet.backup_locationsRow)loc).id)); } BinlogDumpCredentialsConfig config = new BinlogDumpCredentialsConfig(); config.host = (string)serverData.Rows[cmbServers.SelectedIndex]["host"]; config.port = unchecked ((int)(long)serverData.Rows[cmbServers.SelectedIndex]["port"]); config.username = (string)serverData.Rows[cmbServers.SelectedIndex]["username"]; config.password = (string)serverData.Rows[cmbServers.SelectedIndex]["password"]; List <string> databases = new List <string>(); List <string> excludedTables = new List <string>(); tableList = new List <string>(); foreach (TreeNode node in tvDatabases.Nodes) { if (node.Checked) { databases.Add(node.Text); string tables = ""; foreach (TreeNode childNode in node.Nodes) { if (!childNode.Checked) { tables += childNode.Text + ","; } else { tableList.Add(childNode.Text); } } if (tables != "") { tables = tables.Substring(0, tables.Length - 1); //vgazei to teleutaio comma } excludedTables.Add(tables); } } config.database = databases[0]; config.locationIds = locations.ToArray(); IncrementalUtils iutils = new IncrementalUtils(config); prefix = iutils.calculatePrefix(0)[1]; }); } saveToLocations(status.fileAbsPath, prefix); } else { this.UseWaitCursor = false; string errorMessage = ""; switch (status.errorNumber) { case -1: errorMessage = "Connection credentials not set correctly:\n" + status.errorMessage; Console.WriteLine(errorMessage); break; case -2: errorMessage = "MySQL dump failed:\n" + status.mysqldumpexeStandardError; Console.WriteLine(errorMessage); break; case -3: errorMessage = "Compression failed:\n" + status.mysqldumpexeStandardError; Console.WriteLine(errorMessage); break; default: break; } MessageBox.Show(errorMessage, "Dump failed", MessageBoxButtons.OK, MessageBoxIcon.Error); bStartDump.Invoke((MethodInvoker) delegate() { bStartDump.Enabled = true; }); } //kiala pramata na kanei edo, afta pou meleges // //gia ui components xriazete Invoke } else { this.UseWaitCursor = false; } }
private void bStartImport_Click(object sender, EventArgs e) { if (!performChecks()) { return; } string path = tb.Text; //incremental chain if (cImportChain.Checked && pathsToImport == null) { IncrementalUtils iutils = new IncrementalUtils(); int isLocalInt = -1; if (!isLocal) { try { isLocalInt = (int)(long)location["id"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "Chain Import", MessageBoxButtons.OK, MessageBoxIcon.Error); Console.WriteLine(ex.StackTrace); return; } } pathsToImport = iutils.calculateChain(tb.Text, isLocalInt); if (pathsToImport[0].StartsWith("Error")) { MessageBox.Show(pathsToImport[1], "Chain Import", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } path = pathsToImport[0]; foreach (string ptoimp in pathsToImport) { Console.WriteLine("path to import: " + ptoimp); } } else if (cImportChain.Checked && pathsToImport != null) { if (pathsToImport.Count() == 0) { return; } path = pathsToImport[0]; } Console.WriteLine("Importing path: " + path); this.UseWaitCursor = true; bStartImport.Enabled = false; DataRow serverdata = firedumpdbDataSet.mysql_servers.Rows[cmbServers.SelectedIndex]; ImportCredentialsConfig config = new ImportCredentialsConfig(); config.database = (string)serverdata["database"]; if (cmbDatabases.SelectedIndex != 0) { config.database = (string)cmbDatabases.SelectedValue; } config.host = (string)serverdata["host"]; config.password = (string)serverdata["password"]; config.port = Convert.ToInt32((Int64)serverdata["port"]); config.username = (string)serverdata["username"]; config.scriptDelimeter = tbDelimeter.Text; adapter = new ImportAdapterManager(path, isLocal, isCompressed, isEncrypted, tbConfirmPass.Text, location, config); adapter.ImportComplete += onImportCompleteHandler; adapter.ImportInit += onImportInitHandler; adapter.ImportError += onImportErrorHandler; adapter.ImportProgress += onImportProgressHandler; adapter.InnerProccessInit += onInnerProccessInitHandler; adapter.startImport(); }