Example #1
0
 private void btnFixstand_Click(object sender, EventArgs e)
 {
     //TODO: method unchecked
       Zeitpunkt reason = GetZeitpunkt();
       var noteAdapter = new NoteTableAdapter();
       var fixNoteAdapter = new BerechneteNoteTableAdapter();
       var alleNotenDerSchule = fixNoteAdapter.GetData();
       foreach (var note in alleNotenDerSchule)
       {
     fixNoteAdapter.Insert(note.SchnittMuendlich, note.SchnittSchulaufgaben, note.JahresfortgangMitKomma,
       note.JahresfortgangGanzzahlig, note.PruefungGesamt, note.SchnittFortgangUndPruefung, note.Abschlusszeugnis,
       (int)reason, true, note.SchuelerId, note.KursId, note.ErstesHalbjahr);
       }
 }
Example #2
0
        /// <summary>
        /// Synchronisiert die Excel-Datei mit der Datenbank.
        /// </summary>
        /// <param name="fileName">Der Dateiname.</param>
        public void Synchronize(string fileName)
        {
            if (OnStatusChange != null)
              {
            OnStatusChange(this, new StatusChangedEventArgs() { Status = "synchronisiere " + fileName });
              }

              using (ExcelSheet sheet = new ExcelSheet(fileName))
              {
            // erst mal schauen, ob der Kurs laut DB existiert. Todo: nächstes Jahr kursId verwenden!
            KursTableAdapter kursAdapter = new KursTableAdapter();
            var kurse = kursAdapter.GetDataByBezeichnung(sheet.Kursbezeichnung);
            if (kurse.Count != 1)
            {
              kurse = kursAdapter.GetDataByBezeichnung(sheet.Fachname + " " + sheet.Kursbezeichnung);
              if (kurse.Count != 1)
              {
            if (OnStatusChange != null)
            {
              OnStatusChange(this, new StatusChangedEventArgs() { Status = "Fehler in Datei " + fileName + ": Kurs nicht oder mehrfach gefunden: " + sheet.Kursbezeichnung });
            }
              }
            }

            int kursId = kurse[0].Id;
            using (NoteTableAdapter noteAdapter = new NoteTableAdapter())
            using (BerechneteNoteTableAdapter berechneteNotenAdapter = new BerechneteNoteTableAdapter())
            {
              DeleteAlteNoten(kursId, noteAdapter, berechneteNotenAdapter);
              foreach (var schueler in sheet.Schueler)
              {
            InsertNoten(kursId, noteAdapter, berechneteNotenAdapter, schueler);
              }

              if (OnStatusChange != null)
              {
            OnStatusChange(this, new StatusChangedEventArgs() { Status = "Noten sind eingetragen. Prüfe auf Änderungen an den Schülerdaten." });
              }

              var alleSchueler = CheckSchueler(sheet, kursId);
              CheckLegastheniker(sheet, kursAdapter, kurse[0], alleSchueler);
            }
              }

              if (OnStatusChange != null)
              {
            OnStatusChange(this, new StatusChangedEventArgs() { Status = "Datei " + fileName + " erfolgreich gelesen" });
              }
        }
Example #3
0
        private void LeseNotenAusDB()
        {
            diNoDataSet.NoteDataTable notenDT;
            notenDT = new NoteTableAdapter().GetDataBySchuelerAndKurs(schuelerId, kursId);
            foreach (var noteR in notenDT)
            {
                // Note note = new Note(noteR);
                noten[noteR.Halbjahr,noteR.Notenart].Add(noteR.Punktwert);
            }

            // Schnitte werden direkt gelesen
            diNoDataSet.BerechneteNoteDataTable bnotenDT;
            // liefert max. 2 Datensätze (einen für 1. und 2. Hj.), historische Stände werden nicht geliefert
            bnotenDT = new BerechneteNoteTableAdapter().GetDataBySchuelerAndKurs(kursId, schuelerId);
            foreach (var bnoteR in bnotenDT)
            {
                schnitte[(int)(bnoteR.ErstesHalbjahr ? Halbjahr.Erstes : Halbjahr.Zweites)] =
                        new BerechneteNote(kursId, schuelerId, bnoteR);
            }
        }
Example #4
0
File: Note.cs Project: FOSBOS/diNo
 public void writeToDB()
 {
     BerechneteNoteTableAdapter na = new BerechneteNoteTableAdapter();
     na.Insert(SchnittMuendlich, SchnittSchulaufgaben, JahresfortgangMitKomma, JahresfortgangGanzzahlig,
             PruefungGesamt, SchnittFortgangUndPruefung, Abschlusszeugnis, 0, false, schuelerid, kursid, ErstesHalbjahr);
 }
Example #5
0
        /// <summary>
        /// Trägt die Noten eines Schülers aus Excel in die Datenbank ein.
        /// </summary>
        /// <param name="kursId">Die Id des Kurses.</param>
        /// <param name="noteAdapter">Der Note-Adapter.</param>
        /// <param name="berechneteNoteAdapter">Der Adapter für berechnete Noten.</param>
        /// <param name="schueler">Der Schüler (samt Noten dieses Kurses).</param>
        private static void InsertNoten(int kursId, NoteTableAdapter noteAdapter, BerechneteNoteTableAdapter berechneteNoteAdapter, Schueler schueler)
        {
            foreach (var note in schueler.Einzelnoten)
              {
            // trage alle Noten in die DB ein
            var noteId = 0;
            noteAdapter.Insert((int)note.Typ, note.Punktwert, DateTime.Now.Date, note.Zelle, (byte)note.Halbjahr, schueler.Id, kursId, out noteId);
              }

              berechneteNoteAdapter.Insert(schueler.BerechneteNotenErstesHalbjahr.SchnittMuendlich, schueler.BerechneteNotenErstesHalbjahr.SchnittSchulaufgaben,
            schueler.BerechneteNotenErstesHalbjahr.JahresfortgangMitKomma, schueler.BerechneteNotenErstesHalbjahr.JahresfortgangGanzzahlig,
            schueler.BerechneteNotenErstesHalbjahr.PruefungGesamt, schueler.BerechneteNotenErstesHalbjahr.SchnittFortgangUndPruefung,
            schueler.BerechneteNotenErstesHalbjahr.Abschlusszeugnis, (int)CheckReason.None, false, schueler.Id, kursId, true);

              berechneteNoteAdapter.Insert(schueler.BerechneteNoten.SchnittMuendlich, schueler.BerechneteNoten.SchnittSchulaufgaben,
            schueler.BerechneteNoten.JahresfortgangMitKomma, schueler.BerechneteNoten.JahresfortgangGanzzahlig,
            schueler.BerechneteNoten.PruefungGesamt, schueler.BerechneteNoten.SchnittFortgangUndPruefung,
            schueler.BerechneteNoten.Abschlusszeugnis, (int)CheckReason.None, false, schueler.Id, kursId, false);
        }
Example #6
0
        /// <summary>
        /// Löscht die alten Noten dieses Kurses aus der Datenbank (evtl. später nur Invalid setzen).
        /// </summary>
        /// <param name="kursId">Die Id des Kurses.</param>
        /// <param name="noteAdapter">Der Notenadapter.</param>
        /// <param name="berechneteNoteAdapter">Der Adapter für berechnete Noten.</param>
        private static void DeleteAlteNoten(int kursId, NoteTableAdapter noteAdapter, BerechneteNoteTableAdapter berechneteNoteAdapter)
        {
            foreach (var note in noteAdapter.GetDataByKursId(kursId))
              {
            // lösche die Note
            noteAdapter.Delete(note.Id);
              }

              berechneteNoteAdapter.Delete(kursId);
        }
Example #7
0
        /// <summary>
        /// Löscht die alten Noten dieses Kurses aus der Datenbank
        /// </summary>
        private void DeleteAlteNoten()
        {
            NoteTableAdapter ta = new NoteTableAdapter();
              ta.DeleteByKursId(kurs.Id);

              BerechneteNoteTableAdapter bta = new BerechneteNoteTableAdapter();
              bta.DeleteByKursId(kurs.Id);
        }