/// <summary>
        /// Sucht oder erzeugt ein Fach in der Datenbank.
        /// </summary>
        /// <param name="aFach">Das Fachkürzel.</param>
        /// <returns>Die Zeile des Faches in der Datenbank.</returns>
        public static diNoDataSet.FachRow FindOrCreateFach(string aFach)
        {
            using (var fachAdapter = new FachTableAdapter())
              {
            var faecher = fachAdapter.GetDataByKuerzel(aFach);
            if (faecher.Count == 0)
            {
              // Fach voller Name muss in der Datenbank angepasst werden
              new FachTableAdapter().Insert("", aFach,false);
              faecher = new FachTableAdapter().GetDataByKuerzel(aFach);
            }

            return faecher[0];
              }
        }
Esempio n. 2
0
        private static Kurs FindOrCreateDummyKurs(string bezeichnung, string fachKuerzel)
        {
            var kursAdapter = new KursTableAdapter();
              var fachAdapter = new FachTableAdapter();

              var kurse = kursAdapter.GetDataByBezeichnung(bezeichnung);
              if (kurse == null || kurse.Count == 0)
              {
            kursAdapter.Insert(bezeichnung, null, fachAdapter.GetDataByKuerzel(fachKuerzel)[0].Id, null);
            kurse = kursAdapter.GetDataByBezeichnung(bezeichnung);
              }
              if (kurse == null || kurse.Count == 0)
              {
            throw new InvalidOperationException("Dummykurs "+ bezeichnung + " konnte nicht angelegt werden.");
              }

              return new Kurs(kurse[0]);
        }
Esempio n. 3
0
        /// <summary>
        /// Prüft, ob die Legasthenievermerke der Datenbank mit der Excel-Datei übereinstimmen.
        /// </summary>
        /// <param name="sheet">Das Excel-Sheet.</param>
        /// <param name="kursAdapter">Der Kurs-Adapter.</param>
        /// <param name="kurs">Die Zeile des aktuellen Kurses in der Datenbank.</param>
        /// <param name="alleSchueler">Liste aller Schüler aus der Datenbank.</param>
        private static void CheckLegastheniker(ExcelSheet sheet, KursTableAdapter kursAdapter, diNoDataSet.KursRow kurs, diNoDataSet.SchuelerKursDataTable alleSchueler)
        {
            //TODO: Methode ungetestet
              using (FachTableAdapter fachAdapter = new FachTableAdapter())
              {
            var deutsch = fachAdapter.GetDataByKuerzel("D")[0];
            var englisch = fachAdapter.GetDataByKuerzel("E")[0];
            if (kurs.FachId == deutsch.Id || kurs.FachId == englisch.Id)
            {
              foreach (var schueler in alleSchueler)
              {
            var excelSchueler = sheet.Schueler.FirstOrDefault(
              x => x.Id == schueler.SchuelerId
              );

            //falls der Schüler noch in der Excel-Datei drinsteht. Könnte ja sein, dass er schon ausgetreten o. ä. ist
            if (excelSchueler != null)
            {
              var dbSchueler = new SchuelerTableAdapter().GetDataById(schueler.SchuelerId)[0];
              if (excelSchueler.IsLegastheniker != (dbSchueler.LRSSchwaeche || dbSchueler.LRSStoerung))
              {
                excelSchueler.IsLegastheniker = (dbSchueler.LRSSchwaeche || dbSchueler.LRSStoerung);
                sheet.SetLegasthenieVermerk(excelSchueler);
              }
            }
              }
            }
              }
        }