Ejemplo n.º 1
0
        public byte? ReadSchnittGanzzahlig(BerechneteNotentyp typ, Halbjahr hj, int zeile)
        {
            string zelle = CellConstant.getSchnittZelle(typ, hj, zeile);
              if (zelle == null)
            return null;

              string v;
              if (typ == BerechneteNotentyp.Abschlusszeugnis)
            v = ReadValue(AP, zelle);
              else
            v = ReadValue(notenbogen, zelle);

              return !string.IsNullOrEmpty(v) ? Convert.ToByte(v, CultureInfo.CurrentUICulture) : (byte?)null;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// liefert zum angegeben Notentyp und Halbjahr die Spalte im Excelsheet. Zusammen mit der Zeile (=obere Zeile) 
        /// des Schülers wird die Zelle generiert.
        /// </summary>
        public static string getSchnittZelle(BerechneteNotentyp typ, Halbjahr hj, int zeile)
        {
            string s=null;

            if (hj == Halbjahr.Erstes)
            {
                zeile++; // die meisten Noten stehen unten
                switch (typ)
                {
                    case BerechneteNotentyp.SchnittSA: s = "M"; break;
                    case BerechneteNotentyp.Schnittmuendlich: s = "N"; break;
                    case BerechneteNotentyp.JahresfortgangMitNKS: s = "O"; break;
                    case BerechneteNotentyp.Jahresfortgang: s = "O"; zeile--; break;
                }
            }

            if (hj == Halbjahr.Zweites)
            {
                zeile++;
                switch (typ)
                {
                    case BerechneteNotentyp.SchnittSA: s = "Y"; break;
                    case BerechneteNotentyp.Schnittmuendlich: s = "Z"; break;
                    case BerechneteNotentyp.JahresfortgangMitNKS: s = "AA"; break;
                    case BerechneteNotentyp.Jahresfortgang: s = "AA"; zeile--; break;
                    case BerechneteNotentyp.APGesamt: s = "G"; break;
                    case BerechneteNotentyp.Abschlusszeugnis: s ="I"; break;
                }
            }
            if (s != null) s = s + zeile;
            return s; // ggf. ein null String, falls diese Kombi nicht zulässig ist
        }
Ejemplo n.º 3
0
        public decimal? ReadSchnitt(BerechneteNotentyp typ, Halbjahr hj, int zeile)
        {
            string zelle = CellConstant.getSchnittZelle(typ, hj, zeile);
              if (zelle == null)
            return null;

              string v;
              if (typ == BerechneteNotentyp.APGesamt)
            v = ReadValue(AP, zelle);
              else
            v = ReadValue(notenbogen, zelle);

              return !string.IsNullOrEmpty(v) ? Convert.ToDecimal(v, CultureInfo.CurrentUICulture) : (decimal?)null;
        }
Ejemplo n.º 4
0
        public decimal? ReadSchnitt(BerechneteNotentyp typ, Halbjahr hj, int zeile)
        {
            string zelle = CellConstant.getSchnittZelle(typ, hj, zeile);
              if (zelle == null)
            return null;

              string v;
              if (typ == BerechneteNotentyp.APGesamt || typ == BerechneteNotentyp.EndnoteMitNKS)
            v = ReadValue(AP, zelle);
              else
            v = ReadValue(notenbogen, zelle);

              var zahlenwert = !string.IsNullOrEmpty(v) ? Convert.ToDecimal(v, CultureInfo.CurrentUICulture) : (decimal?)null;
              return (zahlenwert >= 0) ? zahlenwert : (decimal?)null; // diese Zeile unterdrückt einen Fehler bei der AP Englisch.
              // Solange die AP noch nicht vorliegt, berechnet das Excel-Sheet in der Englisch-AP einen negativen Wert
        }