internal void PrepareDELETE(Schluesseltabelle schulformenSoll, string pfad, string kennzeichen) { using (StreamWriter outputFile = new StreamWriter(pfad, true, System.Text.Encoding.Default)) { Console.Write((kennzeichen + " bei der die Priorität auf 0 gesetzt wird ").PadRight(75, '.')); int i = 0; foreach (var st in (from s in this where s.Kennzeichen == kennzeichen select s).ToList()) { if (!(from u in schulformenSoll where u.Kennzeichen == kennzeichen where u.Wert == st.Wert select u).Any()) { string delete = "UPDATE schluessel " + "SET prioritaet = '0' " + "WHERE (kennzeichen = '" + st.Kennzeichen + "' AND wert = '" + st.Wert + "');"; outputFile.WriteLine(delete); i++; } } Console.WriteLine((" " + i.ToString()).PadLeft(30, '.')); try { System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Notepad++\Notepad++.exe", pfad); } catch (Exception) { System.Diagnostics.Process.Start("Notepad.exe", pfad); } } }
internal void PrepareUPDATE(Schluesseltabelle istSchluesseltabelle, string pfad, string kennzeichen) { using (StreamWriter outputFile = new StreamWriter(pfad, true, System.Text.Encoding.Default)) { Console.Write((kennzeichen + " mit Updatebedarf ").PadRight(75, '.')); int i = 0; foreach (var st in (from s in this where s.Kennzeichen == kennzeichen select s).ToList()) { // ... für die eine ID bereits existert, ... if ((from u in istSchluesseltabelle where u.Kennzeichen == kennzeichen where u.Wert == st.Wert select u).Any()) { // ... wird geprüft, ob ein Update stattfinden muss. if (!(from x in istSchluesseltabelle where x.Kennzeichen == kennzeichen where x.Wert == st.Wert where x.Steuerung == st.Steuerung select x ).Any()) { // Falls die Schulform abweicht, muss ein Update stattfinden. string update = "UPDATE schluessel " + "SET steuerung = '" + st.Steuerung + "' " + "WHERE (kennzeichen = '" + st.Kennzeichen + "' AND wert = '" + st.Wert + "');"; outputFile.WriteLine(update); i++; } } } Console.WriteLine((" " + i.ToString()).PadLeft(30, '.')); try { System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Notepad++\Notepad++.exe", pfad); } catch (Exception) { System.Diagnostics.Process.Start("Notepad.exe", pfad); } try { Process.Start(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } }
private Schluesseltabelle getSchluesseltabelle(List <Schluessel> x) { Schluesseltabelle schluesseltabelle = new Schluesseltabelle(); foreach (var schl in x) { var schluessel = new Schluessel(); schluessel.Kennzeichen = schl.Kennzeichen; schluessel.Wert = schl.Wert; schluessel.Aufloesung = schl.Aufloesung; schluessel.Aufloesung2 = schl.Aufloesung2; schluessel.Prioritaet = schl.Prioritaet; // 0 = veraltet schluessel.Steuerung = schl.Steuerung; schluesseltabelle.Add(schluessel); } return(schluesseltabelle); }
internal void PrepareINSERT(Schluesseltabelle istSchluesseltabelle, string pfad, string kennzeichen) { using (StreamWriter outputFile = new StreamWriter(pfad, true, System.Text.Encoding.Default)) { Console.Write(("Neu anzulegende " + kennzeichen + " in Atlantis ").PadRight(75, '.')); int i = 0; foreach (var st in (from s in this where s.Kennzeichen == kennzeichen select s).ToList()) { if (!(from u in istSchluesseltabelle where u.Kennzeichen == kennzeichen where u.Wert == st.Wert select u).Any()) { string insert = "INSERT INTO " + "schluessel(" + "kennzeichen, " + "wert, " + "aufloesung, " + "aufloesung_2, " + "prioritaet, " + "steuerung) " + "VALUES('" + st.Kennzeichen + "', '" + st.Wert + "', '" + st.Aufloesung + "', '" + st.Aufloesung2 + "','" + st.Prioritaet + "','" + st.Steuerung + "');"; outputFile.WriteLine(insert); i++; } } Console.WriteLine((" " + i.ToString()).PadLeft(30, '.')); try { System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Notepad++\Notepad++.exe", pfad); } catch (Exception) { System.Diagnostics.Process.Start("Notepad.exe", pfad); } } }
static void Main(string[] args) { Console.WriteLine("atlantis_schluesseltabelle_anpassen (Version 20200707)"); Console.WriteLine("===================================="); Console.WriteLine(""); Console.WriteLine(""); System.Diagnostics.Process.Start("https://www.svws.nrw.de/download/schild-nrw/hilfstabellen"); Process.Start("explorer.exe", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); Console.WriteLine("1. Laden Sie die Hilfstabellen herunter:"); Console.WriteLine("2. ASDTAB nach " + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + " entpacken."); Console.WriteLine("3. schulver nach " + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + " entpacken."); Console.WriteLine("4. statkue nach " + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + " entpacken."); Console.WriteLine("4. ENTER"); Console.ReadKey(); Schluesseltabelle istSchluesseltabelle = new Schluesseltabelle(ConnectionStringAtlantis, AktSjAtlantis); DataSet dataSetAsdtabs = AccessDbLoader.LoadFromFile(@"ASDTABS.MDB"); DataSet dataSetSchulver = AccessDbLoader.LoadFromFile(@"schulver.MDB"); // Schulformen Schluesseltabelle SchulformenSoll = new Schluesseltabelle(dataSetSchulver, dataSetAsdtabs, "PS-SCHULART"); SchulformenSoll.PrepareINSERT(istSchluesseltabelle, "INSERT_Schulform_" + Pfad, "PS-SCHULART"); SchulformenSoll.PrepareUPDATE(istSchluesseltabelle, "UPDATE_Schulform_" + Pfad, "PS-SCHULART"); istSchluesseltabelle.PrepareDELETE(SchulformenSoll, "DELETE_Schulform_" + Pfad, "PS-SCHULART"); // Schulen Schluesseltabelle SchulenSoll = new Schluesseltabelle(dataSetSchulver, dataSetSchulver, "PS-SCHULE"); SchulenSoll.PrepareINSERT(istSchluesseltabelle, "INSERT_Schule_" + Pfad, "PS-SCHULE"); SchulenSoll.PrepareUPDATE(istSchluesseltabelle, "UPDATE_Schule_" + Pfad, "PS-SCHULE"); istSchluesseltabelle.ausgeben(SchluesseltabellePfad); Console.ReadKey(); }