public Zuordnungen(Leistungen webuntisLeistungen, Abwesenheiten atlantisAbwesenheiten) { this.Add(new Zuordnung(" FU", "")); this.Add(new Zuordnung("FS19*|INW", "IF")); this.Add(new Zuordnung("HBT19A|FPE", "FPEL")); this.Add(new Zuordnung("WE18A|KKS*", "KKS")); this.Add(new Zuordnung("KR", "REL")); this.Add(new Zuordnung("ER", "REL")); this.Add(new Zuordnung("KR ", "REL")); this.Add(new Zuordnung("ER ", "REL")); this.Add(new Zuordnung("NF ", "")); this.Add(new Zuordnung("", "")); this.Add(new Zuordnung("", "")); this.Add(new Zuordnung("", "")); }
static void Main(string[] args) { Global.Output = new List <string>(); try { Console.WriteLine(" Webuntisnoten2Atlantis | Published under the terms of GPLv3 | Stefan Bäumer " + DateTime.Now.Year + " | Version 20210507"); Console.WriteLine("====================================================================================================="); Console.WriteLine(" *Webuntisnoten2Atlantis* erstellt eine SQL-Datei mit entsprechenden Befehlen zum Import in Atlantis."); Console.WriteLine(" ACHTUNG: Wenn der Lehrer es versäumt hat, mindestens 1 Teilleistung zu dokumentieren, wird keine Ge-"); Console.WriteLine(" samtnote von Webuntis übergeben!"); Console.WriteLine("====================================================================================================="); if (Properties.Settings.Default.DBUser == "") { Settings(); } string targetPath = SetTargetPath(); Process notepadPlus = new Process(); notepadPlus.StartInfo.FileName = "notepad++.exe"; notepadPlus.Start(); Thread.Sleep(1500); string targetAbsenceTimesTotal = CheckFile(targetPath, User, "AbsenceTimesTotal"); string targetMarksPerLesson = CheckFile(targetPath, User, "MarksPerLesson"); string targetSql = Path.Combine(targetPath, Zeitstempel + "_webuntisnoten2atlantis_" + User + ".SQL"); Leistungen alleAtlantisLeistungen = new Leistungen(ConnectionStringAtlantis + Properties.Settings.Default.DBUser, AktSj, User); Leistungen alleWebuntisLeistungen = new Leistungen(targetMarksPerLesson); Abwesenheiten alleAtlantisAbwesenheiten = new Abwesenheiten(ConnectionStringAtlantis + Properties.Settings.Default.DBUser, AktSj[0] + "/" + AktSj[1]); Abwesenheiten alleWebuntisAbwesenheiten = new Abwesenheiten(targetAbsenceTimesTotal); Leistungen webuntisLeistungen = new Leistungen(); Abwesenheiten webuntisAbwesenheiten = new Abwesenheiten(); Leistungen atlantisLeistungen = new Leistungen(); Abwesenheiten atlantisAbwesenheiten = new Abwesenheiten(); FocusMe(); var interessierendeKlassen = new List <string>(); interessierendeKlassen = alleAtlantisLeistungen.GetIntessierendeKlassen(alleWebuntisLeistungen, AktSj); webuntisLeistungen.AddRange((from a in alleWebuntisLeistungen where interessierendeKlassen.Contains(a.Klasse) select a).OrderBy(x => x.Klasse).ThenBy(x => x.Fach).ThenBy(x => x.Name)); atlantisLeistungen.AddRange((from a in alleAtlantisLeistungen where interessierendeKlassen.Contains(a.Klasse) select a).OrderBy(x => x.Klasse).ThenBy(x => x.Fach).ThenBy(x => x.Name)); List <string> abschlussklassen = (from t in alleAtlantisLeistungen where t.Abschlussklasse where interessierendeKlassen.Contains(t.Klasse) select t.Klasse).Distinct().ToList(); atlantisAbwesenheiten.AddRange((from a in alleAtlantisAbwesenheiten where interessierendeKlassen.Contains(a.Klasse) where !abschlussklassen.Contains(a.Klasse) select a)); webuntisAbwesenheiten.AddRange((from a in alleWebuntisAbwesenheiten where interessierendeKlassen.Contains(a.Klasse) where !abschlussklassen.Contains(a.Klasse) select a)); if (webuntisLeistungen.Count == 0) { throw new Exception("[!] Es liegt kein einziger Leistungsdatensatz für Ihre Auswahl vor. Ist evtl. die Auswahl in Webuntis eingeschränkt? "); } // Alte Noten holen webuntisLeistungen.AddRange(alleAtlantisLeistungen.HoleAlteNoten(webuntisLeistungen, interessierendeKlassen, AktSj)); // Sortieren webuntisLeistungen.OrderBy(x => x.Klasse).ThenBy(x => x.Fach).ThenBy(x => x.Name); atlantisLeistungen.OrderBy(x => x.Klasse).ThenBy(x => x.Fach).ThenBy(x => x.Name); // Korrekturen durchführen webuntisLeistungen.WidersprechendeGesamtnotenKorrigieren(interessierendeKlassen); Zuordnungen fehlendezuordnungen = webuntisLeistungen.FächerZuordnen(atlantisLeistungen); webuntisLeistungen.ReligionsabwählerBehandeln(atlantisLeistungen); webuntisLeistungen.BindestrichfächerZuordnen(atlantisLeistungen); atlantisLeistungen.FehlendeZeugnisbemerkungBeiStrich(webuntisLeistungen, interessierendeKlassen); atlantisLeistungen.GetKlassenMitFehlendenZeugnisnoten(interessierendeKlassen, alleWebuntisLeistungen); fehlendezuordnungen.ManuellZuordnen(webuntisLeistungen, atlantisLeistungen); // Add-Delete-Update atlantisLeistungen.Add(webuntisLeistungen, interessierendeKlassen); atlantisLeistungen.Delete(webuntisLeistungen, interessierendeKlassen, AktSj); atlantisLeistungen.Update(webuntisLeistungen, interessierendeKlassen); atlantisAbwesenheiten.Add(webuntisAbwesenheiten); atlantisAbwesenheiten.Delete(webuntisAbwesenheiten); atlantisAbwesenheiten.Update(webuntisAbwesenheiten); alleAtlantisLeistungen.ErzeugeSqlDatei(new List <string>() { targetAbsenceTimesTotal, targetMarksPerLesson, targetSql }); Console.WriteLine(""); Console.WriteLine(" -----------------------------------------------------------------"); Console.WriteLine(" Verarbeitung abgeschlossen. Programm beenden mit Enter."); Console.ReadKey(); Environment.Exit(0); } catch (Exception ex) { Console.WriteLine("Ooops! Es ist etwas schiefgelaufen! Die Verarbeitung wird gestoppt."); Console.WriteLine(""); Console.WriteLine(ex); Console.ReadKey(); Environment.Exit(0); } }