public async Task InitializeData() { _context.Database.EnsureDeleted(); if (_context.Database.EnsureCreated()) { // Oefeningen var oefening1 = new Oefening("opgave1", 100); var oefening2 = new Oefening("opgave2", 200); var oefening3 = new Oefening("opgave3", 300); // GroepsBewerkingen var groepsBewerking1 = new GroepsBewerking("Vermenigvuldig bovenstaande met 3", 3, Operator.vermeningvuldigen); var groepsBewerking2 = new GroepsBewerking("Trek hier 4 van af.", 4, Operator.aftrekken); var groepsBewerking3 = new GroepsBewerking("Deel door 3", 3, Operator.delen); // Opdrachten var opdracht1 = new Opdracht("code1", oefening1, groepsBewerking1); var opdracht2 = new Opdracht("code2", oefening2, groepsBewerking2); var opdracht3 = new Opdracht("code3", oefening3, groepsBewerking3); var opdrachten = new List <Opdracht> { opdracht1, opdracht2, opdracht3 }; _context.Opdrachten.AddRange(opdrachten); // Acties var actie1 = new Actie("Ga naar de McDonalds en koop McNuggets"); var actie2 = new Actie("Ga naar Gebouw B"); var actie3 = new Actie("Neem de groene ballon"); var acties = new List <Actie> { actie1, actie2, actie3 }; _context.Acties.AddRange(acties); // Pad var pad = new Pad(); pad.AddOpdracht(opdracht1, 1); pad.AddOpdracht(opdracht2, 2); pad.AddOpdracht(opdracht3, 3); pad.AddActie(actie1, 1); pad.AddActie(actie2, 2); pad.AddActie(actie3, 3); var pad2 = new Pad(); pad2.AddOpdracht(opdracht1, 1); pad2.AddOpdracht(opdracht2, 3); pad2.AddOpdracht(opdracht3, 2); pad2.AddActie(actie1, 1); pad2.AddActie(actie2, 3); pad2.AddActie(actie3, 2); var pad3 = new Pad(); pad3.AddOpdracht(opdracht1, 2); pad3.AddOpdracht(opdracht2, 1); pad3.AddOpdracht(opdracht3, 3); pad3.AddActie(actie1, 2); pad3.AddActie(actie2, 1); pad3.AddActie(actie3, 3); var pad4 = new Pad(); pad4.AddOpdracht(opdracht1, 3); pad4.AddOpdracht(opdracht2, 2); pad4.AddOpdracht(opdracht3, 1); pad4.AddActie(actie1, 3); pad4.AddActie(actie2, 2); pad4.AddActie(actie3, 1); var paden = new List <Pad> { pad, pad2, pad3, pad4 }; foreach (var item in paden) { item.PadState = new OpdrachtPadState(); } _context.Paden.AddRange(paden); // Klas var klas = new Klas("2A1"); var klas2 = new Klas("2TILE"); Leerling[] leerlingen1 = { new Leerling("Halpert", "Jim"), new Leerling("Beesley", "Pam"), new Leerling("Schrute", "Dwight"), new Leerling("Howard", "Ryan"), new Leerling("Drets", "Michel"), new Leerling("Loosveld", "Franky", "*****@*****.**") }; foreach (var leerling in leerlingen1) { klas.Leerlingen.Add(leerling); } klas2.Leerlingen.Add(new Leerling("LaPlace", "Bucky", "*****@*****.**")); // Groep var groep = new Groep("Het Eiland") { Pad = pad }; var groep2 = new Groep("The Office") { Pad = pad2 }; var groep3 = new Groep("Plaats 1") { Pad = pad3 }; var groep4 = new Groep("Plaats 2") { Pad = pad4 }; for (int i = 0; i < 4; i++) { groep2.Leerlingen.Add(leerlingen1[i]); } for (int i = 4; i < leerlingen1.Length - 1; i++) { groep.Leerlingen.Add(leerlingen1[i]); } Groep[] groepen = { groep, groep2, groep3, groep4 }; _context.Groepen.AddRange(groepen); _context.SaveChanges(); // Sessie var sessie = new Sessie(123, "Hoofdrekenen", "Enkel een pen en papier dienen gebruikt te worden", new List <Groep> { groep, groep2 }, klas); var sessie2 = new Sessie(321, "Brugcursus Wiskunde", "Enkel een pen en papier dienen gebruikt te worden", new List <Groep> { groep3, groep4 }, klas2) { Doelgroep = DoelgroepEnum.Volwassenen }; Sessie[] sessies = { sessie, sessie2 }; _context.Sessies.AddRange(sessies); _context.SaveChanges(); // Leerkracht + user account var leerkracht = new Leerkracht("Protut", "Lydia", "*****@*****.**") { Sessies = new List <Sessie> { sessie, sessie2 } }; _context.Leerkrachten.Add(leerkracht); ApplicationUser user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await _userManager.CreateAsync(user, "P@ssword1"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "Leerkracht")); // Leerling user account user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await _userManager.CreateAsync(user, "P@ssword1"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "Leerling")); user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; await _userManager.CreateAsync(user, "P@ssword1"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "Leerling")); _context.SaveChanges(); } _context.SaveChanges(); }
public DummyApplicationDbContext() { Oef1 = new Oefening("Opgave oefening 1", 100); GroepsBewerking1 = new GroepsBewerking("Doe de groepsbewerking1", 2, Operator.aftrekken); Opdracht1 = new Opdracht("toegangsCode123", Oef1, GroepsBewerking1); Oef2 = new Oefening("Opgave oefening 2", 210); GroepsBewerking2 = new GroepsBewerking("Doe de groepsbewerking2", 3, Operator.delen); Opdracht2 = new Opdracht("toegangsCode678", Oef2, GroepsBewerking2); Opdrachten = new[] { Opdracht1, Opdracht2 }; Actie1 = new Actie("Actie1"); Actie2 = new Actie("Actie2"); Acties = new[] { Actie1, Actie2 }; Pad = new Pad() { PadId = 1 }; Pad.AddOpdracht(Opdracht1, 1); Pad.AddOpdracht(Opdracht2, 2); Pad.AddActie(Actie1, 1); Pad.AddActie(Actie2, 2); Pad.PadState = new OpdrachtPadState(); PadMet1Opdracht = new Pad() { PadId = 5 }; PadMet1Opdracht.AddOpdracht(Opdracht1, 1); PadMet1Opdracht.AddActie(Actie1, 1); PadMet1Opdracht.PadState = new OpdrachtPadState(); PadGeblokkeerd = new Pad() { PadId = 2 }; PadGeblokkeerd.AddOpdracht(Opdracht1, 1); PadGeblokkeerd.AddOpdracht(Opdracht2, 2); PadGeblokkeerd.PadState = new GeblokkeerdPadState(); Groep1 = new Groep("Groep1") { GroepId = 1, Pad = Pad, DeelnameBevestigd = true }; Groep2 = new Groep("Groep2") { GroepId = 2, Pad = PadGeblokkeerd, DeelnameBevestigd = false }; Leerling1 = new Leerling("McDerp", "Derp"); Leerling2 = new Leerling("Cena", "John"); Leerling3 = new Leerling("Flib", "Flub") { LeerlingId = 3 }; Klas1 = new Klas("Klas1", new List <Leerling> { Leerling1, Leerling2 }); Klas2 = new Klas("Klas2", new List <Leerling> { Leerling3 }); SessieAlleDeelnamesBevestigd = new Sessie(123, "Sessie1", "Dit is sessie1", new List <Groep> { Groep1 }, Klas1); SessieNogDeelnamesTeBevestigen = new Sessie(321, "Sessie2", "Dit is sessie2", new List <Groep> { Groep2 }, Klas2); Leerkracht1 = new Leerkracht("VanDam", "Alain", "*****@*****.**") { Sessies = new List <Sessie> { SessieAlleDeelnamesBevestigd } }; }