static void Main(string[] args) { /* INITIALIZER */ Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5CHIF"].AddSchueler(sch); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
public void TestAddSchueler() { Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5BHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 2, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 3, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 4, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 5, Vorname = "", Nachname = "" }); // Prüfen, wenn der Schüler NULL ist Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler(null)); // Zuordnung OK? Assert.AreEqual <Schueler>(sch, s.Klassen["5CHIF"].FindSchuelerById(1)); // Mehr als 5 Schüler gehen nicht? Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler( new Schueler() { Id = 6, Vorname = "", Nachname = "" } )); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
static void Main(string[] args) { Teacher teacher = new Teacher("Mincho"); teacher.AddDiscipline("matematika", 5, 5); teacher.AddDiscipline("geografiq", 5, 5); teacher.AddDiscipline("istoriq", 5, 5); Teacher teacherTwo = new Teacher("Stoimen"); teacherTwo.AddDiscipline("matematika", 5, 5); teacherTwo.AddDiscipline("geografiq", 5, 5); teacherTwo.AddDiscipline("istoriq", 5, 5); Class klas = new Class("1a"); klas.AddTeacher(teacher); klas.AddTeacher(teacherTwo); Student ucheniche = new Student("Genovev", klas); Console.WriteLine(ucheniche.ToString()); Schule school = new Schule(); school.AddClass(klas); Console.WriteLine(school.ToString()); }
public override void Start(Schule.DataManager.UowSchuleDB uow = null) { if (uow != null) Config.LoadFromDatabase(uow); if (Config.OutputToExcelTemplate) CreateExcel(); else // TODO ; }
public override void ShowConfig(Schule.DataManager.UowSchuleDB uow = null) { if (uow != null) Config.LoadFromDatabase(uow); var c = new GrundrechnenÜbungConfigWindow(Config.Clone() as GrundrechnenÜbungConfig); if (c.ShowDialog() == true) Config = c.Config; if (uow != null) Config.SaveToDatabase(uow); }
internal void InsertTest() { Schule schule = new Schule() { Bez = "EDV-Schule",//"TestSchule"+DateTime.Now.Millisecond, }; schule.Speichern(); Lehrer leh = new Lehrer() { Vorname = "Klaus", Nachname = "Reuther", Kuerzel = "BAR", }; leh.Speichern(); Klasse kl = new Klasse() { Bez = "BFI12A",//"TKL1A"+ DateTime.Now.Millisecond, SJ = ViewModel.Tool.CURRENTSJ, Schule = schule, Klassenleiter = leh, StellvertretenderKlassenleiter = leh, }; kl.Speichern(); Zeugnisfach zf = new Zeugnisfach() { Bez = "TFBAN", Fachart = Fachart.Pflichtfach, Pos = 1, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf.Speichern(); Zeugnisfach zf2 = new Zeugnisfach() { Bez = "Anwendungsentwicklung", Fachart = Fachart.Wahlpflichtfach, Pos = 2, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf2.Speichern(); Unterrichtsfach uf = new Unterrichtsfach() { Bez = "TFBAN1", Pos = 1, Stunden = 6, Zeugnisfach = zf, }; uf.Speichern(); Unterrichtsfach uf2 = new Unterrichtsfach() { Bez = "TFBAN2", Pos = 1, Stunden = 4, Zeugnisfach = zf, }; uf2.Speichern(); Unterrichtsfach uf2B = new Unterrichtsfach() { Bez = "C#", Pos = 1, Stunden = 4, Zeugnisfach = zf2, }; uf2B.Speichern(); UFachLehrer ufl = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf, Stunden = uf.Stunden }; ufl.Speichern(); UFachLehrer ufl2 = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf2, Stunden = uf.Stunden }; ufl2.Speichern(); UFachLehrer ufl2B = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf2B, Stunden = uf.Stunden }; ufl2B.Speichern(); Schueler s = new Schueler() { Vorname = "Hans",//"VornameSchüler"+DateTime.Now.Millisecond, Nachname = "Bauer", Geburtsdatum = new DateTime(2000, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.BL, }; s.Speichern(); SchuelerKlasse sk = new SchuelerKlasse() { Klasse = kl, Schueler = s, }; sk.Speichern(); Schueler s2 = new Schueler() { Vorname = "Harry",//"VornameSchüler" + (DateTime.Now.Millisecond+10), Nachname = "Müller", Geburtsdatum = new DateTime(2001, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.BL, }; s2.Speichern(); SchuelerKlasse sk2 = new SchuelerKlasse() { Klasse = kl, Schueler = s2, }; sk2.Speichern(); Leistungsgruppe lg = new Leistungsgruppe() { Bez = "Schriftlich", Gewicht = 2, }; lg.Speichern(); Leistungsgruppe lg2 = new Leistungsgruppe() { Bez = "Mündlich", Gewicht = 1, }; lg2.Speichern(); Leistungsart la = new Leistungsart() { Bez = "Schulaufgabe", Gewichtung = 2, Gruppe = lg, }; la.Speichern(); Leistungsart la2 = new Leistungsart() { Bez = "Stegreifaufgabe", Gewichtung = 1, Gruppe = lg, }; la2.Speichern(); Leistungsart la3 = new Leistungsart() { Bez = "Abfrage", Gewichtung = 1, Gruppe = lg2, }; la3.Speichern(); Leistung lei = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl }; lei.Speichern(); Leistung lei2 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la2, SchuelerKlasse = sk, UFachLehrer = ufl }; lei2.Speichern(); Leistung lei3 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 2, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la2, SchuelerKlasse = sk, UFachLehrer = ufl }; lei3.Speichern(); Leistung lei4 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la3, SchuelerKlasse = sk, UFachLehrer = ufl }; lei4.Speichern(); Leistung leiB = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2 }; leiB.Speichern(); Leistung lei2B = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2B }; lei2B.Speichern(); Leistung lei2C = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2B }; lei2C.Speichern(); }
public void TestAddSchueler() { Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5BHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(sch); //Was passiert wenn das Schülerobjekt null ist Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler(null)); //Ist der Schüler wirklich in der 5CHIF? /* * if (s.Klassen["5CHIF"].FindSchuelerById(1) == sch) * { * //TEST OK!!! * } */ //Das ist der obere if, was erwarte ich (1. Parameter) und was ist gespeichert worden (2. Parameter) //Prüfe ob die Zordnung der Klasse funktioniert hat? Assert.AreEqual <Schueler>(sch, s.Klassen["5CHIF"].FindSchuelerById(1)); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 2, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 3, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 4, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 5, Vorname = "", Nachname = "" }); // Mehr als 5 Schüler sollten nicht klappen Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler( new Schueler() { Id = 6, Vorname = "", Nachname = "" } )); }
static void Main(string[] args) { /* * Model muss als Reference eingebunden werden --> References --> Add Reference --> Project --> SchulVw.Model * Model.Schule s = new Schule(); --> ebenfalls möglich * Lämpchen --> using [...] nutzen. * * keine Konstrukturen in C# (in Datenhaltendenklassen, bei DB Verbindungen beispielsweise schon) bzw. so gut wie es geht * vermeiden * INITIALIZER Objekt obj = new Objekt() { Property = value, Property2 = value, .... } */ Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; //Gefahr beim direkten Anlegen über new, Referenz verschwinden! s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); /* * Schüler wird erstellt und in die 5CHIF geschmissen. * [..] ==> Indexer. Greife über einen Key auf einen Wert zu. (Array Index, 0,1,2,3,....) * F12 ==> Go to Definition */ Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5CHIF"].AddSchueler(sch); //Umstellen auf bool der void Methoden AddSchueler und AddKlasse ==> returned true/false "Exception"-freundlicher //Geht nicht, weil die Id doppelt ist ==> 1 s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Vorname = "Max2", Nachname = "Mustermann2" }); //Wirft Exeception (Navigation Property) //s.FindSchuelerById(1).Klasse = s.Klassen["5BHIF"]; //s.Klassen["5BHIF"].AddSchueler(sch); /* * Vgl. Klasse.cs ==> Codezeile public List<Schueler> Schueler { get; } = new List<Schueler>(); * bzw. * Codezeile.cs Codezeile: public Dictionary<string, Klasse> Klassen { get; } = new Dictionary<string, Klasse>(); * * * Person p = new Person() { Name = "A" }; * Person p2 = p; * p2.Name = "A2"; * Was liefert p.Name? --> Antwort: A2 * * List<Person> pl = new List<Person>() { p }; * p.Name = "A3"; * Was liefert p.Name? --> Antwort: A3 */ }
/// <summary> /// Importiert die Klassen aus einer CSV-Datei --> erstellt daraus die Klassenobjekte--> speichert diese in die Datenbank /// </summary> /// <param name="pfad">Pfad der Klassendatei</param> /// <param name="schule">Zugehörige Schule</param> public static Importstatistik ImportKlassen(string pfad, Schule schule) { string[] tmp; int ok = 0; List <Exception> fehler = new List <Exception>(); Lehrer dummy = new Lehrer() { Vorname = "-", Nachname = "-", Kuerzel = "-", Dienstbezeichnung = "DUMMY", }; dummy = DBZugriff.Current.SelectFirstOrDefault <Lehrer>(x => x.Vorname == dummy.Vorname && x.Nachname == dummy.Nachname && x.Kuerzel == dummy.Kuerzel && x.Dienstbezeichnung == dummy.Dienstbezeichnung ) ?? dummy; dummy.Speichern(); foreach (string s in ReadAllLines(pfad)) { try { tmp = s.Split(','); int sid = Convert.ToInt32(tmp[0]); // Falls es sich nicht um eine Schuljahresspalte handelt (z.B. bei falsch angegebener Datei) if (!tmp[2].Contains('/')) { throw new FormatException("/ fehlt!"); } Klasse klasse = DBZugriff.Current.SelectFirstOrDefault <Klasse>(x => x.SID == sid); klasse = klasse ?? new Klasse(); klasse.SID = sid; klasse.Bez = tmp[1]; klasse.SJ = Convert.ToInt32(tmp[2].Split('/')[0]); klasse.Schule = schule; klasse.Klassenleiter = dummy; klasse.StellvertretenderKlassenleiter = dummy; DBZugriff.Current.Speichern(klasse, false); ok++; } catch (Exception e) { fehler.Add(e); } } if (ok == 0) { throw new FileFormatException("Die Datei hat das falsche Format für den angegebenen Dateityp!"); } DBZugriff.Current.Save(); return(new Importstatistik() { Bez = "Klassen", OkCount = ok, Fehler = fehler, }); }
private static void RunTest() { try { Schule schule = new Schule() { Bez = "TestSchule", }; schule.Speichern(); Lehrer leh = new Lehrer() { Vorname = "VorTest", Nachname = "NachTest", Kürzel = "TL", }; leh.Speichern(); Klasse kl = new Klasse() { Bez = "TKL1A", SJ = 2017, Schule = schule, Klassenleiter = leh, StellvertretenderKlassenleiter = leh, }; kl.Speichern(); Zeugnisfach zf = new Zeugnisfach() { Bez = "TestAbschlussFach", Fachart = "TestFachArt", Pos = 1, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf.Speichern(); Unterrichtsfach uf = new Unterrichtsfach() { Bez = "TestUnterichtsFach", Pos = 1, Stunden = 6, Zeugnisfach = zf, }; uf.Speichern(); UFachLehrer ufl = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf, Stunden = uf.Stunden }; ufl.Speichern(); Schueler s = new Schueler() { Vorname = "VorTestS", Nachname = "NachTestS", Geburtsdatum = new DateTime(2000, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.NONE, }; s.Speichern(); SchuelerKlasse sk = new SchuelerKlasse() { Klasse = kl, Schueler = s, }; sk.Speichern(); Leistungsart la = new Leistungsart() { Bez = "Schulaufgabe", Gewichtung = 2, Gruppe = "S", }; la.Speichern(); Leistungsgruppe lg = new Leistungsgruppe() { Bez = "Schriftlich", Gewicht = "2", Leistungsart = la }; lg.Speichern(); Leistung lei = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, }; lei.Speichern(); } catch (Exception e) { Console.WriteLine(e); } }
public abstract void Start(Schule.DataManager.UowSchuleDB uow = null);
public abstract void ShowConfig(Schule.DataManager.UowSchuleDB uow = null);
/// <summary> /// Exportiert alle Beobachtungen eines Schülers in Word /// </summary> public void ExportToWord(Schueler Schüler, Schuljahr Schuljahr, Schule.DataManager.UowSchuleDB UOW = null) { ExportToWord(Schüler, Schuljahr == null ? 0 : Schuljahr.Startjahr, UOW); }
/// <summary> /// Exportiert alle Beobachtungen eines Schülers in Word /// </summary> public void ExportToWord(Schueler Schüler, int Schuljahr = 0, Schule.DataManager.UowSchuleDB UOW = null) { if (UOW == null) UOW = App.Current.FindResource("UnitOfWork") as Groll.Schule.DataManager.UowSchuleDB; if (UOW != null) { ExportSettings.GroupBy = GroupByType.GroupBySchüler; var t = from b in UOW.Beobachtungen.GetList() where (b.Schueler) == Schüler && (b.SchuljahrId == Schuljahr|| Schuljahr == 0) select b; ExportToWord(t); } }
/// <summary> /// Exportiert alle Beobachtungen eines Jahrgangs in Word /// </summary> public void ExportToWord(int Schuljahr, Schule.DataManager.UowSchuleDB UOW = null) { if (UOW == null) UOW = App.Current.FindResource("UnitOfWork") as Groll.Schule.DataManager.UowSchuleDB; if (UOW != null) { ExportToWord(UOW.Beobachtungen.GetList(x => x.SchuljahrId == Schuljahr)); } }
/// <summary> /// Exportiert alle Beobachtungen einer Klasse in Word /// </summary> public void ExportToWord(Klasse Klasse, Schule.DataManager.UowSchuleDB UOW = null) { if (UOW == null) UOW = App.Current.FindResource("UnitOfWork") as Groll.Schule.DataManager.UowSchuleDB; if (UOW != null) { var t = from b in UOW.Beobachtungen.GetList() where (b.Klasse) == Klasse select b; ExportToWord(t); } }