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); } } }
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"); }
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); }
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); } } } }
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); }