/// <summary>
 /// Prüft, ob die Legasthenievermerke der Datenbank mit der Excel-Datei übereinstimmen.
 /// </summary>
 /// <param name="schueler">Liste aller Schüler aus der Datenbank.</param>
 private void CheckLegastheniker(diNoDataSet.SchuelerRow schueler)
 {
     Schueler schuelerObj = new Schueler(schueler);
       if (schuelerObj.IsLegastheniker) // eigentlich auch zum Entfernen gedacht, aber dann werden jedesmal alle Vermerke neu gesetzt (nicht performant).
       {
     xls.SetLegasthenievermerk(schuelerObj.Id, schuelerObj.IsLegastheniker);
       }
 }
        /// <summary>
        /// Prüft, ob ein Schueler in einem Kurs ist. Voreinstellung: Der Schueler ist drin, solange kein Selector ihn rausnimmt.
        /// Der Fremdsprachenselektor prüft, ob Französisch als zweite Fremdsprache eingetragen ist.
        /// </summary>
        /// <param name="schueler">Der Schüler.</param>
        /// <param name="kurs">Der Kurs (momentan nur französisch).</param>
        /// <returns>true wenn der Schüler französisch gewählt hat.</returns>
        public bool IsInKurs(diNoDataSet.SchuelerRow schueler, diNoDataSet.KursRow kurs)
        {
            var fach = new FachTableAdapter().GetDataById(kurs.FachId)[0];
              if (fach.Kuerzel.Equals("F", StringComparison.OrdinalIgnoreCase))
              {
            // F3 steht für französisch fortgeführt. Diese Leute gehören nicht in den "normalen" Französischkurs
            return (fach.Kuerzel.Equals(schueler.Fremdsprache2, StringComparison.OrdinalIgnoreCase)) && !(schueler.Wahlpflichtfach.Equals("F3", StringComparison.OrdinalIgnoreCase));
              }

              return true;
        }
Beispiel #3
0
        /// <summary>
        /// Füllt die Kurs-ListView mit den übergebenen Kursen.
        /// </summary>
        /// <param name="table">Data Table mit den Kursen.</param>
        private void FillKursliste(diNoDataSet.KursDataTable table)
        {
            List<Kurs> kurse = new List<Kurs>();

              foreach (var aKurs in table)
              {
            kurse.Add(new Kurs(aKurs));
              }

              listBoxKurse.DataSource = kurse;
        }
Beispiel #4
0
        /// <summary>
        /// Aus dem übergebenen Kurs wird eine Exceldatei mit allen Schülerdaten generiert
        /// </summary>
        public ErzeugeExcelDatei(diNoDataSet.KursRow aKurs)
        {
            kurs = new Kurs(aKurs);

              if (kurs.getLehrer == null)
              {
            return; // es gibt auch Kurse ohne Lehrer, z. B. übernommene Noten aus 11ter Klasse
              }

              alleSchueler = kurs.getSchueler(true); // sind bereits via SQL nach Klasse und Namen sortiert

              if (alleSchueler.Count == 0)
              {
            log.WarnFormat("Der Kurs {0} hat keine Schueler ", kurs.Data.Bezeichnung);
            return;
              }

              if (alleSchueler.Count > OpenNotendatei.MaxAnzahlSchueler)
              {
            throw new InvalidOperationException("zu viele Schüler " + alleSchueler.Count);
              }

              if (string.IsNullOrEmpty(kurs.FachBezeichnung))
              {
            // ignoriere FPA, Seminare und ähnliche Platzhalter
            log.Debug("Erzeuge keine Datei für das Fach " + kurs.getFach.Kuerzel);
            return;
              }

              CopyExcelFile();

              xls = new OpenNotendatei(fileName);

              FillExcelFile();
              SwitchNotenschluessel();

              // speichere und schließe Datei
              xls.workbook.Save();
              xls.Dispose(); // Destruktor aufrufen
              xls = null;
        }
Beispiel #5
0
 public Klasse(diNoDataSet.KlasseRow klasseR)
 {
     data = klasseR;
 }
Beispiel #6
0
        /// <summary>
        /// Hängt einen neuen Schüler unten an die Datei an.
        /// </summary>
        /// <param name="aSchueler">Der Schüler.</param>
        public void AppendSchueler(diNoDataSet.SchuelerRow aSchueler)
        {
            UnsavedChanges = true;

              // TODO: Methode ungetestet
              // muss von unten her gesucht werden, da in der DB dieser Schüler schon weg sein kann.
              int zeile = GetErsteFreieZeile(notenbogen);
              int zeileFuerSId = GetSidZeileForNotenbogenZeile(zeile);
              WriteValue(notenbogen, CellConstant.Nachname + zeile, aSchueler.Name);
              WriteValue(notenbogen, CellConstant.Vorname + (zeile + 1), "   " + aSchueler.Rufname);
              WriteValueProtectedCell(sid, CellConstant.SId + zeileFuerSId, aSchueler.Id.ToString());
              if (aSchueler.LRSStoerung || aSchueler.LRSSchwaeche)
              {
            WriteValue(notenbogen, CellConstant.LegasthenieVermerk + zeile, CellConstant.LegasthenieEintragung);
              }
        }
Beispiel #7
0
 private static IList<Klasse> Fill(diNoDataSet.KlasseDataTable klassen)
 {
     IList<Klasse> res = new List<Klasse>();
     foreach (var klasse in klassen)
     {
         res.Add(new Klasse(klasse));
     }
     return res;
 }
Beispiel #8
0
 public Kurs(diNoDataSet.KursRow data)
 {
     this.Id = data.Id;
       this.data = data;
 }
Beispiel #9
0
 private void Init(diNoDataSet.LehrerRow row)
 {
     this.data = row;
       SetRollen();
 }
Beispiel #10
0
 public Schueler(diNoDataSet.SchuelerRow s)
 {
     this.Id = s.Id;
       this.data = s;
 }
        /// <summary>
        /// Prüft, ob ein Schueler in einem Kurs ist.
        /// </summary>
        /// <param name="schueler">Der Schüler.</param>
        /// <param name="kurs">Der Kurs.</param>
        /// <returns>true, wenn der Schüler in diesen Kurs gehen soll.</returns>
        public bool IsInKurs(diNoDataSet.SchuelerRow schueler, diNoDataSet.KursRow kurs)
        {
            var fach = new FachTableAdapter().GetDataById(kurs.FachId)[0];
              Schueler derSchueler = new Schueler(schueler);

              if (derSchueler.getKlasse.Zweig == Zweig.Wirtschaft)
              {
            if (derSchueler.getKlasse.Schulart == Schulart.FOS)
            {
              // Wirtschafts-FOSler müssen zwischen WIn und Französisch (fortgeführt) wählen
              // wenn der Schüler dieses Fach extra gewählt hat soll er natürlich reingehen
              if (fach.Kuerzel.Equals("F-Wi", StringComparison.OrdinalIgnoreCase) &&
            schueler.Wahlpflichtfach.Equals("F3", StringComparison.OrdinalIgnoreCase))
              {
            return true;
              }

              if (fach.Kuerzel.Equals("WIn", StringComparison.OrdinalIgnoreCase) &&
            schueler.Wahlpflichtfach.Equals("WIn", StringComparison.OrdinalIgnoreCase))
              {
            return true;
              }

              return false;
            }
            else
            {
              // Wirtschafts-BOSler gehen immer in WIn, aber nie in Französisch (fortgeführt) oder Kunst
              return fach.Kuerzel.Equals("WIn", StringComparison.OrdinalIgnoreCase);
            }
              }

              // Für Soziale gilt: Wer Kunst als Wahlpflichtfach gewählt hat geht in Kunst
              // wer Französisch als Wahlpflichtfach gewählt hat, geht in Französisch (das macht aber der
              // Fremdsprachenselector, weil dann Französisch als Sprache2 eingetragen wird)
              if (derSchueler.getKlasse.Zweig == Zweig.Sozial)
              {
            if (fach.Kuerzel.Equals("Ku", StringComparison.OrdinalIgnoreCase) &&
            schueler.Wahlpflichtfach.Equals("Ku", StringComparison.OrdinalIgnoreCase))
            {
              return true;
            }
              }

              return false;
        }
Beispiel #12
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);
              }
            }
              }
            }
              }
        }
        /// <summary>
        /// Trägt einen Schüler in einen Kurs in der Datenbank ein.
        /// </summary>
        /// <param name="kurs">Der Kurs.</param>
        /// <param name="dbKlasse">Die Klasse.</param>
        /// <param name="kursSelector">Ein Selektor zur Prüfung, welche Schüler in welchen Kurs auch wirklich müssen.</param>
        public static void AddSchuelerToKurs(diNoDataSet.KursRow kurs, diNoDataSet.KlasseRow dbKlasse, ISchuelerKursSelector kursSelector)
        {
            using (SchuelerTableAdapter sAdapter = new SchuelerTableAdapter())
              {
            sAdapter.ClearBeforeFill = true;
            var schuelerDerKlasse = sAdapter.GetDataByKlasse(dbKlasse.Id);
            if (schuelerDerKlasse.Count == 0)
            {

              if (dbKlasse.Bezeichnung.StartsWith("FB") && dbKlasse.Bezeichnung.EndsWith("F"))
              {
            // z.B. FB13T_F meint die FOSler der Mischklasse FB13T. Evtl. sind die als eigene Klasse F13T in der DB
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("FB", "F");
            modifizierteKlasse = modifizierteKlasse.Replace("_F", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasse(dbKlasse.Id);
            }
              }

              if (dbKlasse.Bezeichnung.StartsWith("FB") && dbKlasse.Bezeichnung.EndsWith("B"))
              {
            // z.B. FB13T_B meint die BOSler der Mischklasse FB13T. Evtl. sind die als eigene Klasse B13T in der DB
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("FB", "B");
            modifizierteKlasse = modifizierteKlasse.Replace("_B", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasse(dbKlasse.Id);
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_W") && dbKlasse.Bezeichnung.Contains("SW"))
              {
            // z.B. B13SW_W meint die Wirtschaftler der Mischklasse B13SW. Evtl. sind die nur als Mischklasse in der DB
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_W", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "W");
              if (schuelerDerKlasse.Count == 0)
              {
                schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "WVR");
              }
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_S") && dbKlasse.Bezeichnung.Contains("SW"))
              {
            // z.B. B13SW_S meint die Wirtschaftler der Mischklasse B13SW. Evtl. sind die nur als Mischklasse in der DB
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_S", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "S");
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_T") && dbKlasse.Bezeichnung.Contains("TW"))
              {
            // Techniker aus der Mischklasse
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_T", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "T");
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_W") && dbKlasse.Bezeichnung.Contains("TW"))
              {
            // Wirtschaftler aus der Mischklasse
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_W", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "W");
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_T") && dbKlasse.Bezeichnung.Contains("ST"))
              {
            // Techniker aus der Mischklasse
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_T", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "T");
            }
              }

              if (dbKlasse.Bezeichnung.EndsWith("_S") && dbKlasse.Bezeichnung.Contains("ST"))
              {
            // Soziale aus der Mischklasse
            string modifizierteKlasse = dbKlasse.Bezeichnung.Replace("_S", string.Empty);
            dbKlasse = FindOrCreateKlasse(modifizierteKlasse, false);
            if (dbKlasse != null)
            {
              schuelerDerKlasse = sAdapter.GetDataByKlasseAndZweig(dbKlasse.Id, "S");
            }
              }
            }

            if (schuelerDerKlasse.Count == 0)
            {
              //throw new InvalidOperationException("Klasse " + dbKlasse.Bezeichnung + " ist leer");
              log.Error("Klasse " + dbKlasse.Bezeichnung + " ist leer");
            }

            foreach (var schueler in schuelerDerKlasse)
            {
              AddSchuelerToKurs(kurs, kursSelector, schueler);
            }
              }
        }
        /// <summary>
        /// Prüft, ob ein Schueler in einem Kurs ist.
        /// </summary>
        /// <param name="schueler">Der Schüler.</param>
        /// <param name="kurs">Der Kurs.</param>
        /// <returns>true, wenn der Schüler in diesen Kurs gehen soll.</returns>
        public bool IsInKurs(diNoDataSet.SchuelerRow schueler, diNoDataSet.KursRow kurs)
        {
            var fach = new FachTableAdapter().GetDataById(kurs.FachId)[0];

              // wenn eine Wahl vorliegt, zuerst danach richten
              bool kursGewaehlt = !string.IsNullOrEmpty(schueler.ReligionOderEthik);
              if (kursGewaehlt)
              {
            bool katholisch = fach.Kuerzel.Equals("K", StringComparison.OrdinalIgnoreCase) && schueler.ReligionOderEthik.Equals("RK", StringComparison.OrdinalIgnoreCase);
            bool evangelisch = fach.Kuerzel.Equals("Ev", StringComparison.OrdinalIgnoreCase) && schueler.ReligionOderEthik.Equals("EV", StringComparison.OrdinalIgnoreCase);
            bool ethik = fach.Kuerzel.Equals("Eth", StringComparison.OrdinalIgnoreCase) && schueler.ReligionOderEthik.Equals("Eth", StringComparison.OrdinalIgnoreCase);

            return katholisch || evangelisch || ethik;
              }
              else
              {
            // wenn keine Wahl vorliegt, dann muss das Bekenntnis passen
            // wenn das auch nicht passt, dann stecken wir den Schueler in Ethik
            bool bekenntnisStimmt = IsEqualBekenntnis(schueler.Bekenntnis, fach.Kuerzel);
            return bekenntnisStimmt || fach.Kuerzel.Equals("Eth", StringComparison.OrdinalIgnoreCase);
              }
        }
 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);
     }
       }
 }
Beispiel #16
0
 public Klasse(diNoDataSet.KlasseRow klasseR)
 {
     eigeneSchueler = new List<Schueler>();
       data = klasseR;
 }
Beispiel #17
0
 public Kurs(diNoDataSet.KursRow data)
 {
     this.Id = data.Id;
       this.data = data;
       setSchreibtKA();
 }
Beispiel #18
0
 /// <summary>
 /// Entfernt einen Schüler aus der Datei (Name und Id). Lässt seine Noten aber stehen.
 /// </summary>
 /// <param name="aSchueler">der Schüler.</param>
 public void RemoveSchueler(diNoDataSet.SchuelerRow aSchueler)
 {
     UnsavedChanges = true;
       RemoveSchueler(aSchueler.Id);
 }
Beispiel #19
0
 public FachSchuelerNotenDruckKurz(diNoDataSet.SeminarfachnoteRow s)
 {
     fachBez = "Seminararbeit";
     if (!s.IsGesamtnoteNull())
     {
       Z = s.Gesamtnote.ToString();
       JF2  =Z;
     }
 }
Beispiel #20
0
        /// <summary>
        /// Hängt einen neuen Schüler unten an die Datei an.
        /// </summary>
        /// <param name="aSchueler">Der Schüler.</param>
        /// <param name="setzeLegasthenie">Ob der Legasthenievermerk geprüft werden soll.</param>
        public void AppendSchueler(diNoDataSet.SchuelerRow aSchueler, bool setzeLegasthenie)
        {
            UnsavedChanges = true;

              int zeile = GetErsteFreieZeile(notenbogen);
              int zeileFuerSId = GetSidZeileForNotenbogenZeile(zeile);
              WriteValueProtectedCell(notenbogen, CellConstant.Nachname + zeile, aSchueler.Name);
              WriteValueProtectedCell(notenbogen, CellConstant.Vorname + (zeile + 1), "   " + aSchueler.Rufname);
              WriteValueProtectedCell(sid, CellConstant.SId + zeileFuerSId, aSchueler.Id.ToString());
              if (setzeLegasthenie && (aSchueler.LRSStoerung || aSchueler.LRSSchwaeche))
              {
            WriteValue(notenbogen, CellConstant.LegasthenieVermerk + zeile, CellConstant.LegasthenieEintragung);
              }
        }
Beispiel #21
0
 public Fach(diNoDataSet.FachRow f)
 {
     data = f;
 }
        /// <summary>
        /// Prüft, ob ein Schueler in einem Kurs ist. Voreinstellung: Der Schueler ist drin, solange kein Selector ihn rausnimmt.
        /// </summary>
        /// <param name="schueler">Der Schueler.</param>
        /// <param name="kurs">Der Kurs.</param>
        /// <returns>False wenn es einen Grund gibt, weswegen der Schueler in diesen Kurs nicht gehen darf. Sonst true.</returns>
        public bool IsInKurs(diNoDataSet.SchuelerRow schueler, diNoDataSet.KursRow kurs)
        {
            var fach = new FachTableAdapter().GetDataById(kurs.FachId)[0];
             	    foreach (ISchuelerKursSelector selector in this.allSelectors)
              {
            if (selector.IsInterestedInFach(fach) && !selector.IsInKurs(schueler, kurs))
            {
              return false;
            }
              }

              return true;
        }
Beispiel #23
0
 /// <summary>
 /// Entfernt einen Schüler aus der Datei (Name und Id). Lässt seine Noten aber stehen.
 /// </summary>
 /// <param name="aSchueler">der Schüler.</param>
 public void RemoveSchueler(diNoDataSet.SchuelerRow aSchueler)
 {
     RemoveSchueler(aSchueler.Id);
 }
 /// <summary>
 /// Interessiert sich momentan für die Fächer F-Wi, Ku und WIn.
 /// </summary>
 /// <param name="fach">Das Fach</param>
 /// <returns>true falls eines der Reli-Fächer übergeben wurde. Sonst false.</returns>
 public bool IsInterestedInFach(diNoDataSet.FachRow fach)
 {
     return fach.Kuerzel.Equals("F-Wi", StringComparison.OrdinalIgnoreCase)
     || fach.Kuerzel.Equals("WIn", StringComparison.OrdinalIgnoreCase)
     || fach.Kuerzel.Equals("Ku", StringComparison.OrdinalIgnoreCase);
 }
Beispiel #25
0
        public BerechneteNote(int aKursId, int aSchuelerId, diNoDataSet.BerechneteNoteRow d)
        {
            kursid = aKursId;
            schuelerid = aSchuelerId;

            //SchnittSchulaufgaben = d.IsSchnittSchulaufgabenNull() ? null :  d.SchnittSchulaufgaben;  // frisst er nicht!!?
            if (d.IsSchnittSchulaufgabenNull()) SchnittSchulaufgaben = null; else SchnittSchulaufgaben = d.SchnittSchulaufgaben;
            if (d.IsSchnittMuendlichNull()) SchnittMuendlich = null; else SchnittMuendlich = d.SchnittMuendlich;
            if (d.IsJahresfortgangMitKommaNull()) JahresfortgangMitKomma = null; else JahresfortgangMitKomma = d.JahresfortgangMitKomma;
            if (d.IsJahresfortgangGanzzahligNull()) JahresfortgangGanzzahlig = null; else JahresfortgangGanzzahlig = d.JahresfortgangGanzzahlig;
            if (d.IsPruefungGesamtNull()) PruefungGesamt= null; else PruefungGesamt = d.PruefungGesamt;
            if (d.IsSchnittFortgangUndPruefungNull()) SchnittFortgangUndPruefung = null; else SchnittFortgangUndPruefung = d.SchnittFortgangUndPruefung;
            if (d.IsAbschlusszeugnisNull()) Abschlusszeugnis = null; else Abschlusszeugnis = d.Abschlusszeugnis;
            StandNr = (Zeitpunkt)d.StandNr;
            ErstesHalbjahr = d.ErstesHalbjahr;
        }
Beispiel #26
0
 public Vorkommnis(diNoDataSet.VorkommnisRow data)
 {
     this.data = data;
 }
Beispiel #27
0
 // baut Notenobjekt aus einer DB-Zeile auf
 public Note(diNoDataSet.NoteRow nr)
 {
     kursid = nr.KursId;
         schuelerid = nr.SchuelerId;
         Typ = (Notentyp)nr.Notenart;
         Punktwert = nr.Punktwert;
         Datum = nr.Datum;
         Zelle = nr.Zelle;
         Halbjahr = (Halbjahr)nr.Halbjahr;
 }
Beispiel #28
0
 public Lehrer(diNoDataSet.LehrerRow r)
 {
     Init(r);
 }
Beispiel #29
0
        /// <summary>
        /// Füllt die SchuelerRow mit ihren Daten aus WinSV
        /// </summary>
        /// <param name="cleanArray">Das Array mit Daten.</param>
        /// <param name="klasse">Die Klasse in welche der Schüler gehen soll.</param>
        /// <param name="row">Die SchuelerRow.</param>
        private static void FillRow(string[] cleanArray, diNoDataSet.KlasseRow klasse, diNoDataSet.SchuelerRow row)
        {
            row.Id = int.Parse(cleanArray[schuelerIdSpalte]);
              row.Name = cleanArray[nachnameSpalte];
              row.Vorname = cleanArray[vornameSpalte];
              row.KlasseId = klasse.Id;
              row.Schulart = klasse.Bezeichnung.StartsWith("B") ? "B" : "F";
              row.Rufname = cleanArray[rufnameSpalte];
              row.Geschlecht = cleanArray[geschlechtSpalte];
              DateTime? geburtsdatum = ParseDate(cleanArray[geburtsdatumSpalte]);
              if (geburtsdatum == null)
              {
            row.SetGeburtsdatumNull();
              }
              else
              {
            row.Geburtsdatum = (DateTime)geburtsdatum;
              }

              row.Geburtsort = cleanArray[geburtsortSpalte];
              row.Bekenntnis = cleanArray[bekenntnisSpalte];
              row.AnschriftPLZ = cleanArray[anschr1PlzSpalte];
              row.AnschriftOrt = cleanArray[anschr1OrtSpalte];
              row.AnschriftStrasse = cleanArray[anschr1StrasseSpalte];
              row.AnschriftTelefonnummer = cleanArray[anschr1TelefonSpalte];
              row.Ausbildungsrichtung = ChangeAusbildungsrichtung(cleanArray[ausbildungsrichtungSpalte]);
              row.Fremdsprache2 = cleanArray[fremdsprache2Spalte];
              row.ReligionOderEthik = cleanArray[reliOderEthikSpalte];

              if (cleanArray[wahlpflichtfachSpalte] == "F")
              {
            // normales Französisch wird als Fremdsprache2 importiert, aber nicht als Wahlpflichtfach
            row.Fremdsprache2 = "F";
              }
              else
              {
            row.Wahlpflichtfach = ChangeFranz(cleanArray[wahlpflichtfachSpalte]);
              }

              row.Wahlfach1 = ChangeFranz(cleanArray[wahlfach1Spalte]);
              row.Wahlfach2 = ChangeFranz(cleanArray[wahlfach2Spalte]);
              row.Wahlfach3 = ChangeFranz(cleanArray[wahlfach3Spalte]);
              row.Wahlfach4 = ChangeFranz(cleanArray[wahlfach4Spalte]);
              row.Wiederholung1Jahrgangsstufe = cleanArray[wdh1JahrgangsstufeSpalte];
              row.Wiederholung2Jahrgangsstufe = cleanArray[wdh2JahrgangsstufeSpalte];
              row.Wiederholung1Grund = cleanArray[wdh1GrundSpalte];
              row.Wiederholung2Grund = cleanArray[wdh2GrundSpalte];
              DateTime? probezeit = ParseDate(cleanArray[probezeitBisSpalte]);
              if (probezeit == null || probezeit <= DateTime.Now)
              {
            row.SetProbezeitBisNull();
              }
              else
              {
            row.ProbezeitBis = (DateTime)probezeit;
              }

              DateTime? austrittsdatum = ParseDate(cleanArray[austrittsdatumSpalte]);
              if (austrittsdatum == null)
              {
            row.SetAustrittsdatumNull();
              }
              else
              {
            row.Austrittsdatum = (DateTime)austrittsdatum;
              }

              row.SchulischeVorbildung = cleanArray[schulischeVorbildungSpalte];
              row.BeruflicheVorbildung = cleanArray[beruflicheVorbildungSpalte];
              row.LRSStoerung = cleanArray[lrsStoerungSpalte] == "1";
              row.LRSSchwaeche = cleanArray[lrsSchwaecheSpalte] == "1";

              DateTime? lrsBis = ParseDate(cleanArray[lrsBisDatumSpalte]);
              if (lrsBis == null)
              {
            row.SetLRSBisDatumNull();
              }
              else
              {
            row.LRSBisDatum = (DateTime)lrsBis;
              }

              row.VerwandtschaftsbezeichnungEltern1 = cleanArray[verwandtschaftsbezeichnungEltern1Spalte];
              row.NachnameEltern1 = cleanArray[nachnameEltern1Spalte];
              row.VornameEltern1 = cleanArray[vornameEltern1Spalte];
              row.AnredeEltern1 = cleanArray[anredeEltern1Spalte];
              row.NachnameEltern2 = cleanArray[nachnameEltern2Spalte];
              row.VornameEltern2 = cleanArray[vornameEltern2Spalte];
              row.AnredeEltern2 = cleanArray[anredeEltern2Spalte];
              row.VerwandtschaftsbezeichnungEltern2 = cleanArray[verwandtschaftsbezeichnungEltern2Spalte];
              row.EintrittJahrgangsstufe = cleanArray[eintrittJgstSpalte];

              DateTime? eintrittDatum = ParseDate(cleanArray[eintrittDatumSpalte]);
              if (eintrittDatum == null)
              {
            row.SetEintrittAmNull();
              }
              else
              {
            row.EintrittAm = (DateTime)eintrittDatum;
              }

              row.EintrittAusSchulnummer = !string.IsNullOrEmpty(cleanArray[eintrittVonSchulnummerSpalte]) ? int.Parse(cleanArray[eintrittVonSchulnummerSpalte]) : -1;
              row.Email = cleanArray[emailSpalte];
              row.Notfalltelefonnummer = cleanArray[notfallrufnummerSpalte];
        }