public void linkSpelerTeams() { //geeft alle spelers hun team object using (VoetbalContext ctxx = new VoetbalContext()) { foreach (Speler speler in ctxx.spelers) { speler.team = SelecteerTeam(speler.teamId); ctx.Update(speler); } } }
public void InitialiseerDatabank() { Dictionary <String, Speler> spelerDict = new Dictionary <string, Speler>(); Dictionary <String, Team> teamDict = new Dictionary <string, Team>(); //HashSet<Team> List <Team> teamlist = new List <Team>(); List <Speler> spelerlist = new List <Speler>(); HashSet <SpelerTeam> spelerTeamsSet = new HashSet <SpelerTeam>(); //de bestand oplezen en er een "List<Speler> spelerlist" uit ophalen using (StreamReader r = new StreamReader(path)) { String line; String naam; String nummer; String club; String waarde; String stamnr; String trainer; r.ReadLine(); while ((line = r.ReadLine()) != null) { String[] ss = line.Split(',').Select(x => x.Trim()).ToArray(); naam = ss[0]; nummer = ss[1]; club = ss[2]; waarde = ss[3].Replace(" ", ""); stamnr = ss[4]; trainer = ss[5]; //voegt speler toe Speler spelerx = new Speler(naam, Convert.ToInt32(nummer), Convert.ToInt32(waarde), Convert.ToInt32(stamnr)); //voegt clubs toe if (!teamDict.ContainsKey(club)) { teamDict.Add(club, new Team(Convert.ToInt32(stamnr), club, trainer)); teamDict.Where(t => t.Key.Equals(club)).FirstOrDefault().Value.spelers.Add(spelerx); spelerx.team = teamDict.Where(t => t.Key.Equals(club)).FirstOrDefault().Value; } else { teamDict.Where(t => t.Key.Equals(club)).FirstOrDefault().Value.spelers.Add(spelerx); spelerx.team = teamDict.Where(t => t.Key.Equals(club)).FirstOrDefault().Value; } spelerDict.Add(naam, spelerx); SpelerTeam st = new SpelerTeam(spelerx, teamDict.Where(t => t.Key.Equals(club)).FirstOrDefault().Value); spelerTeamsSet.Add(st); } foreach (KeyValuePair <string, Speler> entry in spelerDict) { spelerlist.Add(entry.Value); } foreach (KeyValuePair <string, Team> entry in teamDict) { teamlist.Add(entry.Value); } } //naar databank schrijven using (var ctx = new VoetbalContext()) { //NOTE: teams is blijkbaar niet nodig geweest sinds spelers al de teams al bevat // ctx.teams.AddRange(teamlist); foreach (Team te in teamlist) { LibraryClass lc = new LibraryClass(); lc.VoegTeamToe(te); } ////ctx.spelers.AttachRange(spelerlist); foreach (Speler speler in spelerlist) { speler.spelerid = spelerlist.IndexOf(speler) + 1; speler.team = ctx.teams.Find(speler.teamId); speler.teamId = speler.team.stamnummer; ctx.SaveChanges(); } //ctx.spelers.AttachRange(spelerlist); // } LibraryClass voetbalLib = new LibraryClass(); voetbalLib.linkSpelerTeams(); }