Example #1
0
        private void LeseKlassenleiter()
        {
            KlasseTableAdapter ta  = new KlasseTableAdapter();
              Worksheet s = xls.workbook.Worksheets[1];
              //Worksheet s = wb.ActiveSheet;
              int zeile=2;
              string kuerzel, klasse;
              int lehrerid;

              kuerzel = (string)(s.Cells[zeile,3].Value);
              klasse = (string)(s.Cells[zeile,4].Value);
              while (kuerzel!=null)
              {
            if (klasse!=null)
            {
              LehrerListe.TryGetValue(kuerzel,out lehrerid);
              var dt = ta.GetDataByBezeichnung(klasse);
              if (dt.Count>0)
              {
            var klassenRow = dt[0];
            klassenRow.KlassenleiterId = lehrerid;
            ta.Update(klassenRow);
              }
            }
            zeile++;
              kuerzel = (string)(s.Cells[zeile,3].Value);
              klasse = (string)(s.Cells[zeile,4].Value);
              }
        }
 /// <summary>
 /// Sucht die ID der Klasse in der Datenbank. Versucht auch zu beurteilen, ob es sich überhaupt um eine echte Klasse handelt.
 /// Legt auch Klassen ggf. selbstständig in der Datenbank an.
 /// </summary>
 /// <param name="klasseTableAdapter">Der Table Adapter für Klassen.</param>
 /// <param name="klasse">Die Klassenbezeichnung.</param>
 /// <returns>Die Id der Klasse oder -1 falls die Klasse ungültig ist.</returns>
 private static int GetKlasseId(KlasseTableAdapter klasseTableAdapter, string klasse)
 {
     var klasseDBresult = klasseTableAdapter.GetDataByBezeichnung(klasse);
       if (klasseDBresult.Count == 1)
       {
     return klasseDBresult[0].Id;
       }
       else
       {
     // -N : Klassen für kommendes Jahr
     // AHR, FHR: Klassen des vergangenen Jahres
     // Abm: Abmeldungen
     // Ex, Import: ?
     if (klasse.EndsWith("-N") || klasse.Contains("AHR") || klasse.Contains("FHR") || klasse.Contains("Abm") || klasse.Equals("Ex") || klasse.Equals("Import"))
     {
       return -1;
     }
     else
     {
       klasseTableAdapter.Insert(klasse);
       var neueKlasse = klasseTableAdapter.GetDataByBezeichnung(klasse);
       return neueKlasse[0].Id;
     }
       }
 }
        /// <summary>
        /// Sucht eine Klasse in der Datenbank. Wenn nicht gefunden, kann sie neu angelegt werden.
        /// </summary>
        /// <param name="aklasse">Die Klassenbezeichnung.</param>
        /// <param name="createIfNotFound">True wenn die Klasse ggf. auch neu angelegt werden darf.</param>
        /// <returns>Die Zeile der Klasse in der Datenbank oder null wenn nicht gefunden.</returns>
        public static diNoDataSet.KlasseRow FindOrCreateKlasse(string aklasse, bool createIfNotFound)
        {
            // suche die Klasse in der Datenbank. Wenn neu => anlegen
              using (var klAdapter = new KlasseTableAdapter())
              {
            var klasse = klAdapter.GetDataByBezeichnung(aklasse);
            if (klasse.Count == 0)
            {
              if (createIfNotFound)
              {
            new KlasseTableAdapter().Insert(aklasse);
              }
              else
              {
            return null;
              }
            }

            return new KlasseTableAdapter().GetDataByBezeichnung(aklasse)[0];
              }
        }