using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PEP_Tool { public static class SQL { static string connstr = "Server=10.20.97.146;Uid=PEPTool;Pwd=PEPUser;database=pep_tool"; static MySqlConnection conn = new MySqlConnection(connstr); static MySqlDataAdapter adp = new MySqlDataAdapter(); public static MySqlDataAdapter GetAdapter() { return adp; } public static MySqlConnection GetConnection() { return conn; } public static async Task WriteSQL(string SQLQuery, DataTable list) { var filter = list.DefaultView.RowFilter; using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); adp.UpdateCommand = new MySqlCommand(SQLQuery, conn); adp.Update(list); list.AcceptChanges(); File.WriteAllText(@"\\bku.db.de\db\DB_006\GLW_11\ICE-Fertigung\M2\Personaleinsatzplanung\JSON\sql.lck", "erwischt!!"); if(SQLQuery.Contains("track")) File.WriteAllText(@"\\bku.db.de\db\DB_006\GLW_11\ICE-Fertigung\M2\Personaleinsatzplanung\JSON\track.lck", "erwischt!!"); conn.Close(); } list.DefaultView.RowFilter = filter; return list; } public static async Task WriteSQL(string SQLQuery) { using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); MySqlCommand cmd = new MySqlCommand(SQLQuery, conn); cmd.ExecuteNonQuery(); conn.Close(); File.WriteAllText(@"\\bku.db.de\db\DB_006\GLW_11\ICE-Fertigung\M2\Personaleinsatzplanung\JSON\sql.lck", "erwischt!!"); if (SQLQuery.Contains("track")) File.WriteAllText(@"\\bku.db.de\db\DB_006\GLW_11\ICE-Fertigung\M2\Personaleinsatzplanung\JSON\track.lck", "erwischt!!"); } } public static async Task ReadSQL(string SQLCommand, DataTable list) { var filter = list.DefaultView.RowFilter; using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); adp.SelectCommand = new MySqlCommand(SQLCommand, conn); list.Clear(); adp.Fill(list); conn.Close(); } list.DefaultView.RowFilter = filter; return list; } public static async Task ReadSQL(string SQLCommand) { DataTable list = new DataTable(); using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); adp.SelectCommand = new MySqlCommand(SQLCommand, conn); list.Clear(); adp.Fill(list); conn.Close(); } return list; } public static async Task ReadAllData(DataTable list) { var filter = list.DefaultView.RowFilter; using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); adp.SelectCommand = new MySqlCommand("select PersNr,Name,Vorname,Abteilung,o.Datum,Beginn,Gehen,Tagescode,Arbeitsmuster,Zuweisung,Bemerkung,Telefon,AnzahlLizenzen,ZugNameB from mitarbeiter_static p left join mitarbeiter_change o ON o.mitarbeiter_static_PersNr = p.PersNr ORDER BY Name", conn); list.Clear(); adp.Fill(list); conn.Close(); } list.DefaultView.RowFilter = filter; return list; } public static async Task ReadAllData(string filter = "") { try { DataTable list = new DataTable("UserList"); using (conn) { if (conn.State == ConnectionState.Open) conn.Close(); conn.Open(); adp.SelectCommand = new MySqlCommand("select PersNr,Name,Vorname,Abteilung,o.Datum,Beginn,Gehen,Tagescode,Arbeitsmuster,Zuweisung,Bemerkung,Telefon,AnzahlLizenzen,ZugNameB from mitarbeiter_static p left join mitarbeiter_change o ON o.mitarbeiter_static_PersNr = p.PersNr ORDER BY Name", conn); list.Columns.Clear(); adp.Fill(list); conn.Close(); } list.DefaultView.RowFilter = filter; return list; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); return await ReadAllData(); } } } }