2019-11-21 08:32:45 +01:00

162 lines
5.0 KiB
C#

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