示例#1
0
        public ViewSchueler(Schueler s)
        {
            this.vorname  = s.Vorname;
            this.nachname = s.Nachname;

            if (s.Fehlzeit.Length >= 1)
            {
                if (s.Fehlzeit[0] != null)
                {
                    this.hMo = s.Fehlzeit[0].Stunden;
                    this.sMo = s.Fehlzeit[0].Status;
                }
            }
            if (s.Fehlzeit.Length >= 2)
            {
                if (s.Fehlzeit[1] != null)
                {
                    this.hDi = s.Fehlzeit[1].Stunden;
                    this.sDi = s.Fehlzeit[1].Status;
                }
            }

            if (s.Fehlzeit.Length >= 3)
            {
                if (s.Fehlzeit[2] != null)
                {
                    this.hMi = s.Fehlzeit[2].Stunden;
                    this.sMi = s.Fehlzeit[2].Status;
                }
            }

            if (s.Fehlzeit.Length >= 4)
            {
                if (s.Fehlzeit[3] != null)
                {
                    this.hDo = s.Fehlzeit[3].Stunden;
                    this.sDo = s.Fehlzeit[3].Status;
                }
            }

            if (s.Fehlzeit.Length >= 5)
            {
                if (s.Fehlzeit[4] != null)
                {
                    this.hFr = s.Fehlzeit[4].Stunden;
                    this.sFr = s.Fehlzeit[4].Status;
                }
            }
        }
        public Klasse importReport(String pfadImport)
        {
            //CSV-Pfad
            var           reader = new StreamReader(File.OpenRead(pfadImport));
            List <string> listA  = new List <string>();

            int[] zeiten   = new int[5];
            int   zeileCSV = 0;

            String[]        tage = new String[5];
            String[]        zeile;
            List <Schueler> schueler = new List <Schueler>();

            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');

                for (int i = 0; i < values.Length; i++)
                {
                    if (values[i] != "")
                    {
                        listA.Add(values[i]);
                    }
                }

                if (zeileCSV == 0)
                {
                    tage  = listA.ToArray();
                    daten = listA.ToArray();
                    listA.Clear();
                }
                else if (zeileCSV == 1)
                {
                    zeileCSV++;
                    listA.Clear();
                    continue;
                }
                else if (zeileCSV >= 2 && !(listA.Count == 0))
                {
                    //Zeile mit Inhalt
                    zeile = listA.ToArray();

                    int tag = 0;
                    //Fehlzeiten
                    Fehlzeit[] fehlzeiteSchueler = new Fehlzeit[] { null, null, null, null, null };
                    for (int i = 0; i < 10; i += 2)
                    {
                        if (Regex.IsMatch(values[i + 2], @"^\d+$"))
                        {
                            fehlzeiteSchueler[tag] = new Fehlzeit(tage[tag], Int32.Parse(values[i + 2]), values[i + 3]);
                        }
                        tag++;
                    }
                    //Summe der Fehlzeiten
                    int verspaetet   = 0;
                    int offen        = 0;
                    int entschuldigt = 0;
                    for (int i = 0; i < fehlzeiteSchueler.Length; i++)
                    {
                        if (fehlzeiteSchueler[i] != null)
                        {
                            if (fehlzeiteSchueler[i].Status.Equals("offen"))
                            {
                                //unendschuldigt
                                offen += fehlzeiteSchueler[i].Stunden;
                            }
                            else if (fehlzeiteSchueler[i].Status.Equals("verspätet"))
                            {
                                //Verspätet
                                verspaetet += fehlzeiteSchueler[i].Stunden;
                            }
                            else
                            {
                                //Entschuldigt
                                entschuldigt += fehlzeiteSchueler[i].Stunden;
                            }
                        }
                    }
                    //Schüler init
                    Schueler a = new Schueler(zeile[0], zeile[1], fehlzeiteSchueler, offen, entschuldigt, verspaetet);
                    schueler.Add(a);
                    zeileCSV++;
                    listA.Clear();
                }
                else
                {
                    break;
                }
                zeileCSV++;
            }
            SchuelerListe = schueler.ToArray();
            return(new Klasse(schueler, "", tage));
        }