private void AddVestiging(Vestiging edexVestiging) { var Vestiging = new Vestiging { Key = edexVestiging.Key, Naam = edexVestiging.Naam }; Vestigingen.Add(Vestiging); }
public EdexVestiging GetVestiging(EdexSamengesteldegroep groep) { var vestigingKeys = Leerlingen .Where(l => l.Value.SamengesteldeGroepen.Contains(groep.Key)) .Select(l => l.Value.Vestiging).Distinct(); if (vestigingKeys.Count() == 1) { return(Vestigingen.FirstOrDefault(v => v.Key == vestigingKeys.First())); } return(null); }
public IEnumerable <Tuple <EdexVestiging, EdexSamengesteldegroep> > GetSamenGesteldeGroepenWithVestiging() { var samengesteldeGroepenMetVestiging = Leerlingen.SelectMany(l => l.Value.SamengesteldeGroepen.Select(sg => new { VestigingKey = l.Value.Vestiging, Samengesteldegroep = Samengesteldegroepen[sg] })).Distinct(); return(Samengesteldegroepen.Values.GroupJoin (samengesteldeGroepenMetVestiging, sg => sg.Key, vsg => vsg.Samengesteldegroep.Key, (sg, vsg) => { if (vsg.Count() == 1) { return vsg.Select(t => Tuple.Create(Vestigingen.FirstOrDefault(v => v.Key == t.VestigingKey), t.Samengesteldegroep)).Single(); } return Tuple.Create(default(EdexVestiging), sg); })); }
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"); }
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 IEnumerable <Tuple <EdexVestiging, EdexGroep> > GetGroepenWithVestiging() { return(Leerlingen.Values.Where(l => l.Groep != null).Select(l => Tuple.Create(l.Vestiging != null ? Vestigingen.FirstOrDefault(v => v.Key == l.Vestiging) : null, Groepen[l.Groep])).Distinct()); }