public static void TestConnection(AppWorking f, bool alertUser, bool addToServers) { var server = f.textBox4.Text;// "localhost"; var db = (string)(f.comboBoxDatabases.SelectedItem); var uid = f.textBoxUsername.Text; var pwd = f.textBoxPassword.Text; AppWorking.TestConnection(f, server, db, uid, pwd, alertUser, addToServers); }
private void bgw_RunWorkerCompleted_SQLBlast(object sender, RunWorkerCompletedEventArgs e) { var backgroundWorker = (BackgroundWorker)sender; if (this._loadingForm == null) return; this._loadingForm.Close(); if (!this._loadingForm.IsProgressComplete()) { this._loadingForm = null; return; } this._loadingForm = null; if (!backgroundWorker.CancellationPending) this.LocalBlast(true); }
//Background Blast Worker void bgw_RunWorkerCompleted_LocalBlast(object sender, RunWorkerCompletedEventArgs e) { var backgroundWorker = (BackgroundWorker)sender; if (backgroundWorker.CancellationPending) return; if (this._loadingForm == null) return; this._loadingForm.Close(); if (this._loadingForm == null) return; if (!this._loadingForm.IsProgressComplete()) { this._loadingForm = null; return; } this._loadingForm = null; var dbp = Program.LocalDatabaseDirectory;// this.textBoxLBDWD.Text; var outBlastFilePath = dbp + @"~tempBlast.txt"; var b = File.Exists(outBlastFilePath); var tt = Management.GetTextFromFile(outBlastFilePath); this.richTextBoxLocalBlast.Lines = tt; this.BlastSplitContainer.Panel2.Enabled = true; //this.Show(); //this.Invalidate(); }
//Setters public void ClearLoadingForm() { this._loadingForm = null; }
private void toolStripButton1_Click(object sender, EventArgs e) { var bgw = new BackgroundWorker(); //if (tt == "Local") // bgw.DoWork += bgw_DoWork_LocalBlast; //else if (tt == "URL") // bgw.DoWork += bgw_DoWork_LocalBlast; //else //{ // MessageBox.Show("Invalid blast source.", "Error"); // return; //} //bgw.RunWorkerCompleted += bgw_RunWorkerCompleted_LocalBlast; this._loadingForm = new AppWorking(AppWorking.Type.LoadMySQLDatabase, "Provide the information below to connect to a SQL database.", this, bgw); this.Enabled = false; return; /*SqlConnection myConnection = new SqlConnection("user id=root;" + "password=rjw30181;server=localhost:3306;" + "Trusted_Connection=yes;" + "database=main; " + "connection timeout=3");*/ var cs = "uid = admin;" + "pwd = bios455;" + "server = 127.0.0.1;" + "database = localhost; " + "connection timeout = 3"; //Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername; //Pwd = myPassword; var server = "localhost";// "localhost"; var database = "arcogs"; var uid = "admin"; var password = "******"; var connectionString = "server=" + server + ";" + "database=" + database + ";" + "userid=" + uid + ";" + "password="******";" + "Connection Timeout=3"; var sc = new MySqlConnection(connectionString); while (true) { var os = ""; try { using (sc) { sc.Open(); os += "ServerVersion: " + sc.ServerVersion + "\n"; os += "Database: " + sc.Database; } } catch (Exception ex) { MessageBox.Show("The connection to the database has timed out with the given parameters.\n\n" + ex.ToString(), this.Text); break; } MessageBox.Show("User " + uid + " successfully connected to databse " + database + " on server " + server + ".\n\n" + os, this.Text); this.AppSQL.AddDatabase(uid, password, server, database); break; } try { sc.Close(); } catch (Exception ex) { MessageBox.Show("The connection to the database was unable to succesfully close.\n\n" + ex.ToString(), this.Text); } return; }
private bool SQLBlast(bool perform) { var db = (string)this.listBoxBlastSQLDB.SelectedItem; var table = (string)this.listBoxBlastSQLTable.SelectedItem; if (db == null || db == "" || table == null || table == "") { if (this.listBoxBlastSQLDB.Items.Count == 0) MessageBox.Show("A database containing a fasta table is required.", this.TitleText + " - Error"); else MessageBox.Show("Invalid database query parameters.", this.TitleText + " - Error"); return false; } if (!this.LocalBlast(false)) return false; if (!perform) return true; //Create the loading form, which runs the blast in the background. var bgw = new BackgroundWorker(); Program.SelectedDatabase = db; Program.SelectedTable = table; bgw.DoWork += bgw_DoWork_SQLBlast; bgw.RunWorkerCompleted += bgw_RunWorkerCompleted_SQLBlast; this._loadingForm = new AppWorking("Downloading SQL database for local blast...", this, bgw); this._loadingForm.RunWorker(); this.Enabled = false; return true; //var cols = this.AppSQL.GetColumnsInTable }
private bool LocalBlast(bool perform) { var filePath = this.textBoxLBDFP.Text; var databasePath = this.textBoxLBDWD.Text; var exePath = this.textBoxLBEXED.Text; var outBlastFilePath = databasePath + @"~tempLocalBlast.txt"; this.pictureBox1.Image = null; this.pictureBox2.Image = null; this.pictureBox3.Image = null; this.pictureBox4.Image = null; this.richTextBoxLocalBlast.Text = ""; this.BlastSplitContainer.Panel2.Enabled = false; if (!File.Exists(filePath)) { this.pictureBox1.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox2.Image"))); MessageBox.Show("Invalid sequence file path for database construction.", this.TitleText + " - Error"); return false; } else this.pictureBox1.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox1.Image"))); if (!Directory.Exists(databasePath)) { this.pictureBox2.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox2.Image"))); MessageBox.Show("Invalid path for local blast database.", this.TitleText + " - Error"); return false; } else this.pictureBox2.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox1.Image"))); if (!Directory.Exists(exePath) || !File.Exists(exePath + @"\makeblastdb.exe")) { this.pictureBox4.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox2.Image"))); MessageBox.Show("Invalid path for NCBI executables.", this.TitleText + " - Error"); return false; } else this.pictureBox4.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox1.Image"))); if (this.textBoxBlastSeq.Text == "") { this.pictureBox3.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox2.Image"))); MessageBox.Show("Invalid sequence for blast.", this.TitleText + " - Error"); return false; } else this.pictureBox3.Image = ((System.Drawing.Image) (new System.ComponentModel.ComponentResourceManager(typeof(AppForm)).GetObject("pictureBox1.Image"))); if (File.Exists(outBlastFilePath)) File.Delete(outBlastFilePath); var t = this.toolStripBlastButton.Text.Split(' '); var tt = t[t.Length - 1]; /*if (tt == "Local") else if (tt == "URL") bgw.DoWork += bgw_DoWork_LocalBlast; else { MessageBox.Show("Invalid blast source.", "Error"); return false; }*/ if (!perform) return true; //Create the loading form, which runs the blast in the background. if (tt == "SQL") tt = "local " + tt; tt = tt.Replace("Local", "local"); var bgw = new BackgroundWorker(); bgw.DoWork += bgw_DoWork_LocalBlast; bgw.RunWorkerCompleted += bgw_RunWorkerCompleted_LocalBlast; this._loadingForm = new AppWorking("Performing " + tt + " blast...", this, bgw); this._loadingForm.RunWorker(); this.Enabled = false; return true; }
public List<List<string>> GetRowsInTable(string dbName, string tableName, string queryField, string queryValue, AppWorking appW) { //SELECT * FROM pet WHERE species = 'snake' OR species = 'bird'; var tr = -1.0; if (appW != null) tr = this.GetTotalRowsInTable(dbName, tableName) - 1; //Get SQL Columns and verify a fasta and sequence columne exist for blasting string connection = this._dbStringMap[dbName].GetConnectionString(); List<List<string>> t = new List<List<string>>(); t.Add(new List<string>()); using (var con = new MySqlConnection(connection)) { var x = ""; if (queryField != null && queryValue != null) x = " WHERE \"" + queryField + "\" = " + queryValue; string com = "SELECT * FROM " + tableName + x + ";"; using (var schemaCommand = new MySqlCommand(com, con)) { con.Open(); using (var reader = schemaCommand.ExecuteReader()) { var tc = 0; while (reader.Read()) { tc++; for (int i = 0; i < reader.FieldCount; i++) { var ti = reader.GetValue(i); var s = ti.ToString(); if (s.ToLower().Contains("system.byte[]")) { var tb = (byte[])ti; s = ""; for (int j = 0; j < tb.Length; j++) s += Convert.ToChar(tb[j]); } bool newLine = false; if (s.Length > 0 && s.Substring(s.Length - 1, 1) == "\r") { newLine = true; s = s.Substring(0, s.Length - 1); } t[t.Count - 1].Add(s); if (newLine) t.Add(new List<string>()); } if (appW != null) appW.AddProgressPercent(null, 1.0 / tr); } } } } //var r = new List<string>(); //if (nameOnly) //for (int i = 0; i < Columnnames.Count; i += 6) // r.Add(Columnnames[i]); //else // for (int i = 0; i < t.Count; i++) // r.Add(t[i]); for (int i = 0; i < t.Count; i++) { if (t[i].Count == 0) { t.RemoveAt(i); i--; } } return t; }
public List<List<string>> GetRowsInTable(string dbName, string tableName, AppWorking appW) { return this.GetRowsInTable(dbName, tableName, null, null, appW); }
private static void TestConnection(AppWorking f, string server, string db, string uid, string pwd, bool alertUser, bool addToServers) { var outpt = f.parent.AppSQL.TestConnection(server, db, uid, pwd, addToServers); if (outpt == null && alertUser) { MessageBox.Show("The connection to the database could not be made with given parameters.\n\n", f.parent.TitleText + " - Test Connection Fail"); return; } if (alertUser) MessageBox.Show(outpt, f.parent.TitleText + " - Test Connection Success"); return; /* var connectionString = "server=" + server + ";" + "database=" + db + ";" + "userid=" + uid + ";" + "password="******";" + "Connection Timeout=3"; var sqlConnection = new MySqlConnection(connectionString); while (true) { var os = ""; try { using (sqlConnection) { sqlConnection.Open(); os += "User:\t\t" + uid + "\n"; if (sqlConnection.Database == "") db = "(none selected)"; os += "Database:\t\t" + db + "\n"; os += "Server:\t\t" + server + "\n"; os += "ServerVersion:\t" + sqlConnection.ServerVersion + "\n"; } } catch (Exception ex) { if (alertUser) MessageBox.Show("The connection to the database could not be made.\n\n" + ex.ToString(), f.parent.TitleText + " - Test Connection Fail"); break; } f.tempConnectString = connectionString; if (addToServers) { if (db != "(none selected)") { if (addToServers) f.parent.AppSQL.AddDatabase(uid, pwd, server, db); if (alertUser) MessageBox.Show("Database added successfully.\n\n" + os, f.parent.TitleText + " - Database Added"); f.Close(); } else { if (alertUser) MessageBox.Show("Select database to add",f.parent.TitleText); } } else { if (alertUser) MessageBox.Show("User " + uid + " successfully connected to database " + db + " on server " + server + ".\n\n" + os, f.parent.TitleText + " - Test Connection Success"); } break; } try { sqlConnection.Close(); } catch (Exception ex) { if (alertUser) MessageBox.Show("The connection to the database was unable to succesfully close.\n\n" + ex.ToString(), f.Text); } return;*/ }