Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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());
                }
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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();
        }