Exemple #1
0
 public void voegLeerlingenToeAanKlassenLijst(EdexAdministratie EdexAdministratie)
 {
     foreach (var groep in EdexAdministratie.Groepen)
     {
         List <EdexLeerling> leerlingen = new List <EdexLeerling>();
         foreach (var leerling in EdexAdministratie.Leerlingen.Where(l => l.Value.Groep == groep.Value.Key))
         {
             leerlingen.Add(leerling.Value);
         }
         if (leerlingen.Count != 0)
         {
             KlassenLijst.Add(leerlingen);
         }
     }
 }
Exemple #2
0
        public void importFile()
        {
            XmlTextReader reader = new XmlTextReader(PathOfFile);
            XDocument     xDoc   = XDocument.Load(reader);

            EdexAdministratie = EdexmlParser.ParseEdexfile(xDoc);
            if (EdexAdministratie != null)
            {
                Visible = true;
            }
            var groepenMetVestiging = EdexAdministratie.GetGroepenWithVestiging();

            foreach (var groepMetVestiging in groepenMetVestiging)
            {
                if (groepMetVestiging.Item1 != null)
                {
                    Vestiging vestiging = new Vestiging();
                    vestiging.Key  = groepMetVestiging.Item1.Key;
                    vestiging.Naam = groepMetVestiging.Item1.Naam;
                    AddVestiging(vestiging);
                }
                else
                {
                    var bestaandeVestiging = Vestigingen.FirstOrDefault(v => v.Key == null);
                    if (bestaandeVestiging == null)
                    {
                        bestaandeVestiging = new Vestiging();
                        Vestigingen.Add(bestaandeVestiging);
                    }
                }
            }

            AddGroepen();

            foreach (var leerling in EdexAdministratie.Leerlingen.Values)
            {
                EdexLeerlingenLijst.Add(leerling);
            }

            NotifyPropertyChanged("EdexAdministratie");
            NotifyPropertyChanged("Vestigingen");
            NotifyPropertyChanged("Visible");
        }
Exemple #3
0
        public static EdexAdministratie ParseEdexfile(XDocument importDoc)
        {
            EdexAdministratie result;
            var versie = importDoc.XPathSelectElement("EDEX/school/xsdversie").Value;

            switch (versie)
            {
            case "2.1":
                result = Helpers.Generic.ImportEdit(importDoc,
                                                    Helpers.Edex20.ParseerLeerling2_x,
                                                    Helpers.Edex20.ParseerLeerkracht2_x,
                                                    Helpers.Edex20.ParseerGroep2_x,
                                                    Helpers.Edex20.ParseerSchool2_x,
                                                    Helpers.Edex20.ParseerVestiging2_x,
                                                    Helpers.Edex20.ParseerSamengesteldegroep2_x);
                break;

            case "2.0":
                result = Helpers.Generic.ImportEdit(importDoc,
                                                    Helpers.Edex20.ParseerLeerling2_x,
                                                    Helpers.Edex20.ParseerLeerkracht2_x,
                                                    Helpers.Edex20.ParseerGroep2_x,
                                                    Helpers.Edex20.ParseerSchool2_x,
                                                    Helpers.Edex20.ParseerVestiging2_x,
                                                    Helpers.Edex20.ParseerSamengesteldegroep2_x);
                break;

            case "1.03":
                result = Helpers.Generic.ImportEdit(importDoc,
                                                    Helpers.Generic.ParseerLeerlingBasis,
                                                    Helpers.Generic.ParseerLeerkrachtBasis,
                                                    Helpers.Generic.ParseerGroepBasis,
                                                    Helpers.Generic.ParseerSchoolBasis, null, null);
                break;

            default:
                result = new EdexAdministratie();
                break;
            }
            result.ValidateEdex();
            return(result);
        }
Exemple #4
0
        private void AddGroepen()
        {
            var groepen = EdexAdministratie.GetGroepenWithVestiging();

            foreach (var vestigingMetGroep in groepen)
            {
                var groep = CreateGroep(vestigingMetGroep);

                if (vestigingMetGroep.Item1 != null)
                {
                    var vestiging = Vestigingen.FirstOrDefault(v => v.Key == vestigingMetGroep.Item1.Key);
                    vestiging.Groepen.Add(groep);
                }
                else
                {
                    foreach (var vestiging in Vestigingen.Where(v => v.Key == null))
                    {
                        vestiging.Groepen.Add(groep);
                    }
                }
            }
        }
Exemple #5
0
        public static EdexAdministratie ImportEdit(XDocument ededxDocument, Func <XElement, EdexLeerling> leerlingVersie, Func <XElement, EdexLeerkracht> leerkrachtVersie, Func <XElement, EdexGroep> groepVersie, Func <XElement, EdexSchool> schoolVersie, Func <XElement, EdexVestiging> vestigingVersie, Func <XElement, EdexSamengesteldegroep> samengesteldegroepVersie)
        {
            var administratie = new EdexAdministratie();

            foreach (var element in ededxDocument.Root.Elements())
            {
                switch (element.Name.ToString())
                {
                case "school":
                    administratie.School = ParseerSchool(element, schoolVersie);
                    break;

                case "vestigingen":
                    administratie.Vestigingen.AddRange(Edex20.ParseerVestigingen(element, vestigingVersie));
                    break;

                case "groepen":
                    administratie.Samengesteldegroepen.AddRange(Edex20.ParseerSamengesteldegroepen(element, samengesteldegroepVersie));
                    administratie.Groepen.AddRange(ParseerGroepen(element, groepVersie));
                    break;

                case "leerlingen":
                    administratie.Leerlingen.AddRange(ParseerLeerlingen(element, leerlingVersie));
                    break;

                case "leerkrachten":
                    administratie.Leerkrachten.AddRange(ParseerLeerkrachten(element, leerkrachtVersie));
                    break;

                default:
                    break;
                }
            }

            return(administratie);
        }