/// <summary> /// Holt sich die aktuelle Schülerliste aus der Datenbank. Falls ein Schüler fehlt, wird dieser in Excel unten angehängt. /// Todo: Abgemeldete Schüler rauslöschen (zumindest den Namen). /// </summary> /// <param name="sheet">Das ExcelSheet.</param> /// <param name="kursId">Die Id des Kurses.</param> /// <returns>Die Datentabelle mit allen Schüler-Kurs-Zuordnungen.</returns> private static diNoDataSet.SchuelerKursDataTable CheckSchueler(ExcelSheet sheet, int kursId) { var alleSchueler = new SchuelerKursTableAdapter().GetDataByKursId(kursId); foreach (var schueler in alleSchueler) { if (!sheet.Schueler.Any(x => x.Id == schueler.SchuelerId)) { // Dieser Schüler fehlt offenbar bisher var dbSchueler = new SchuelerTableAdapter().GetDataById(schueler.SchuelerId)[0]; // TODO: Testen, ob da wirklich null drinsteht oder eher DateTime.MinValue oder sowas if (dbSchueler.Austrittsdatum == null) { sheet.AppendSchueler(new Schueler(dbSchueler.Id, dbSchueler.Vorname, dbSchueler.Name, dbSchueler.LRSSchwaeche || dbSchueler.LRSStoerung, "")); } } } return alleSchueler; }
public static void AddSchuelerToKurs(diNoDataSet.KursRow kurs, ISchuelerKursSelector kursSelector, diNoDataSet.SchuelerRow schueler) { using (SchuelerKursTableAdapter skursAdapter = new SchuelerKursTableAdapter()) { if (kursSelector.IsInKurs(schueler, kurs) && skursAdapter.GetCountBySchuelerAndKurs(schueler.Id, kurs.Id) == 0) { log.Warn("neuer Schüler im Kurs " + kurs.Bezeichnung); skursAdapter.Insert(schueler.Id, kurs.Id); } } }
public void MeldeAn(Kurs beiKurs) { SchuelerKursTableAdapter skAda = new SchuelerKursTableAdapter(); if (skAda.GetCountBySchuelerAndKurs(this.Id, beiKurs.Id) == 0) { new SchuelerKursTableAdapter().Insert(this.Id, beiKurs.Id); this.Refresh(); } }