protected override void Seed(DidactischeLeermiddelenContext context)
        {
            try
            {
                Beheerder admin = new Beheerder("*****@*****.**", true);
                context.Beheerders.Add(admin);
                //Leergebieden
                Leergebied aardrijkskunde = new Leergebied {
                    Naam = "Aardrijkskunde"
                };
                Leergebied fysica = new Leergebied {
                    Naam = "Fysica"
                };
                Leergebied chemie = new Leergebied {
                    Naam = "Chemie"
                };
                Leergebied wiskunde = new Leergebied {
                    Naam = "Wiskunde"
                };
                Leergebied LO = new Leergebied {
                    Naam = "L.O."
                };
                Leergebied Duits = new Leergebied {
                    Naam = "Duits"
                };

                //Doelgroep en
                Doelgroep lagerOnderwijs = new Doelgroep {
                    Naam = "Lager"
                };
                Doelgroep secundairOnderwijs = new Doelgroep {
                    Naam = "Secundair"
                };
                Doelgroep kleuterOnderwijs = new Doelgroep {
                    Naam = "Kleuter"
                };



                Firma f = new Firma("Ceti", "*****@*****.**", "ceti.be", contactpersoon: "Silke");
                Firma b = new Firma("Wissner", "*****@*****.**", "wissner.com", adres: "Voskenslaan", contactpersoon: "Silke");
                Firma c = new Firma("Texas Instruments", "*****@*****.**", "texasinstruments.com"); //veranderen van firma werkt niet, blijft bij eerst initialisatie

                //Materialen
                Materiaal wereldbol = new Materiaal {
                    AantalInCatalogus = 4, AantalOnbeschikbaar = 1, Plaats = "B2.012", ArtikelNr = 1111, MateriaalId = 1, Firma = b, Naam = "Wereldbol", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\wereldbol.jpg", Omschrijving = "Columbus wereldbol", Prijs = 44.90, Leergebieden = new List <Leergebied> {
                        aardrijkskunde
                    }, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs
                    }, IsReserveerBaar = true
                };

                Materiaal rekentoestel = new Materiaal {
                    AantalInCatalogus = 20, AantalOnbeschikbaar = 4, Plaats = "B2.012", ArtikelNr = 2222, MateriaalId = 2, Firma = c, Naam = "TI 84+", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\rekentoestel.jpg", Omschrijving = "Grafisch rekentoestel", Prijs = 106.95, Leergebieden = new List <Leergebied> {
                        wiskunde, fysica, chemie
                    }, Doelgroepen = new List <Doelgroep> {
                        secundairOnderwijs
                    }, IsReserveerBaar = true
                };
                Materiaal microscoopCeti = new Materiaal {
                    AantalInCatalogus = 2, Plaats = "B3.039", ArtikelNr = 3333, MateriaalId = 3, Firma = f, Naam = "Microscoop Ceti", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\microscoopCeti.jpg", Omschrijving = "Microscoop Ceti", Prijs = 534.00, Leergebieden = new List <Leergebied> {
                        chemie
                    }, Doelgroepen = new List <Doelgroep> {
                        secundairOnderwijs
                    }, IsReserveerBaar = true
                };
                Materiaal pincet = new Materiaal {
                    AantalInCatalogus = 2, Plaats = "B3.039", ArtikelNr = 4444, MateriaalId = 4, Firma = b, Naam = "Pincet", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\pincet.jpg", Omschrijving = "Pincet Zwilling", Prijs = 6.95, Leergebieden = new List <Leergebied> {
                        fysica, chemie
                    }, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs
                    }, IsReserveerBaar = true
                };
                Materiaal bordGeodriekhoek = new Materiaal {
                    AantalInCatalogus = 15, AantalOnbeschikbaar = 7, Plaats = "B2.012", ArtikelNr = 5555, MateriaalId = 5, Firma = c, Naam = "Bordgeodriehoek", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\geodriehoek.jpg", Omschrijving = "Geodriehoek om op het bord te gebruiken", Prijs = 16.00, Leergebieden = new List <Leergebied> {
                        wiskunde, fysica, chemie
                    }, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs
                    }, IsReserveerBaar = true
                };
                Materiaal ReddingsPop = new Materiaal {
                    AantalInCatalogus = 5, Plaats = "B4.009", ArtikelNr = 6666, MateriaalId = 6, Firma = f, Naam = "Reddingspop", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\reddingspop.jpg", Omschrijving = "Met behulp van deze pop wordt je een geweldig duiker", Prijs = 245.00, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs
                    }, Leergebieden = new List <Leergebied> {
                        LO
                    }, IsReserveerBaar = false
                };
                Materiaal Basketbal = new Materiaal {
                    AantalInCatalogus = 30, Plaats = "B1.012", ArtikelNr = 7777, MateriaalId = 7, Firma = b, Naam = "Spalding basketbal", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\basketbal.jpg", Omschrijving = "Officiële NBA basketbal, hiermee scoort iedereen 3-punters", Prijs = 169.00, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs
                    }, Leergebieden = new List <Leergebied> {
                        LO
                    }, IsReserveerBaar = false
                };
                Materiaal Bok = new Materiaal {
                    AantalInCatalogus = 1, Plaats = "B3.039", ArtikelNr = 8888, MateriaalId = 8, Firma = c, Naam = "Bok", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\bok.jpg", Omschrijving = "Niet de alledaagse bok van in de turnles", Prijs = 0.00, Doelgroepen = new List <Doelgroep> {
                        lagerOnderwijs, secundairOnderwijs, kleuterOnderwijs
                    }, Leergebieden = new List <Leergebied> {
                        LO
                    }, IsReserveerBaar = true
                };
                Materiaal Duitser = new Materiaal {
                    AantalInCatalogus = 21, Plaats = "B4.009", ArtikelNr = 9999, MateriaalId = 9, Firma = f, Naam = "Woordenboek Duits-Nederlands", ImageSrc = "C:\\Users\\donovandesmedt\\Source\\Repos\\groep06DotNet\\DidactischeLeermiddelen\\Content\\Images\\woordenboek.jpg", Omschrijving = "Pocketwoordenboek Nederlands Duits", Prijs = 13.00, Doelgroepen = new List <Doelgroep> {
                        secundairOnderwijs
                    }, Leergebieden = new List <Leergebied> {
                        Duits
                    }, IsReserveerBaar = false
                };


                Materiaal[] materialen = new Materiaal[] { wereldbol, rekentoestel, microscoopCeti, pincet, bordGeodriekhoek, ReddingsPop, Basketbal, Bok, Duitser };
                //rekentoestel.AddReservatie(reservatie);
                //bordGeodriekhoek.AddReservatie(reservatie2);

                context.Materialen.AddRange(materialen);

                MailTemplate mailReservatie = new MailNaReservatie()
                {
                    Body = string.Format("<p>Dag _NAAM</p>" +
                                         "Je reservatie loopt van _STARTDATUM tot _EINDDATUM" +
                                         "<p> Hieronder vind je terug wat je zonet reserveerde: </p>" +
                                         "<ul>" +
                                         "_ITEMS" +
                                         "</ul> "),
                    Subject = "Bevestiging reservatie"
                };


                MailTemplate mailBlokkeringLector = new MailNaBlokkeringLector()
                {
                    Body = string.Format("<p>Dag _NAAM</p>" +
                                         "U heeft volgende materialen gereserveerd op _DATUMS :" +
                                         "<ul>" +
                                         "_ITEMS" +
                                         "</ul>"),
                    Subject = "Blokkering"
                };

                MailTemplate mailBlokkeringStudent = new MailNaBlokkeringStudent()
                {
                    Body = string.Format("<p>Dag _NAAM</p>" +
                                         "Uw reservatie van volgend materiaal in de week van _STARTDATUM is geblokkeerd:" +
                                         "<ul>" +
                                         "_ITEMS" +
                                         "</ul>"),

                    Subject = "Reservatie gewijzigd"
                };
                List <MailTemplate> mails = new List <MailTemplate>()
                {
                    mailReservatie, mailBlokkeringLector, mailBlokkeringStudent
                };

                context.MailTemplates.AddRange(mails);
                context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                string s = "Fout creatie database ";
                foreach (var eve in e.EntityValidationErrors)
                {
                    s += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                       eve.Entry.Entity.GetType().Name, eve.Entry.GetValidationResult());
                    foreach (var ve in eve.ValidationErrors)
                    {
                        s += String.Format("- Property: \"{0}\", Error: \"{1}\"",
                                           ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw new Exception(s);
            }
        }
Beispiel #2
0
        public DummyCatalogusContext()
        {
            LagerOnderwijs = new Doelgroep("Lager onderwijs");
            Kind           = new Leergebied("Kind");
            Doelgroepen    = (new Doelgroep[] { LagerOnderwijs }).ToList().AsQueryable();
            Leergebieden   = (new Leergebied[] { Kind }).ToList().AsQueryable();

            string omschrijvingSchatkist   = "koffertje met verschillende soorten dobbelstenen: blanco, met cijfers, ...";
            string omschrijvingDraaischijf = "met verschillende blanco schijven in hard papier";
            string omschrijvingSplitbomen  = "aan de hand van rode bolletjes kunnen getallen tot 10,"
                                             + "in de stam van de boom gesplitst worden in 2 getallen (kaartjes) of in 2 x aantal bolletjes (boom)";

            Schatkist = new Product
            {
                Artikelnaam       = "Schatkist",
                Omschrijving      = omschrijvingSchatkist,
                Artikelnummer     = "MH1447",
                Prijs             = 35,
                AantalInCatalogus = 1,
                Uitleenbaar       = true,
                ProductId         = 1,
                Doelgroepen       = Doelgroepen.ToList(),
                Leergebieden      = Leergebieden.ToList()
            };
            Draaischijf = new Product
            {
                Artikelnaam       = "Draaischijf",
                Omschrijving      = omschrijvingDraaischijf,
                Artikelnummer     = "EL5955",
                Prijs             = Convert.ToDecimal(31.45),
                AantalInCatalogus = 1,
                Uitleenbaar       = true,
                ProductId         = 2,
                Doelgroepen       = Doelgroepen.ToList(),
                Leergebieden      = Leergebieden.ToList()
            };

            Splitsbomen = new Product()
            {
                AantalInCatalogus = 5,
                Artikelnaam       = "Splitsbomen",
                Artikelnummer     = "RK2367",
                Doelgroepen       = Doelgroepen.ToList(),
                Leergebieden      = Leergebieden.ToList(),
                Omschrijving      = omschrijvingSplitbomen,
                Prijs             = Convert.ToDecimal(2.9),
                ProductId         = 3,
                Uitleenbaar       = false
            };
            Producten        = (new Product[] { Schatkist, Draaischijf, Splitsbomen }).ToList().AsQueryable().OrderBy(p => p.Artikelnaam);
            Gebruikers       = (new ApplicationUser[] { CurrentGebruiker }).ToList().AsQueryable();
            CurrentGebruiker = new Student()//TODO
            {
                UserName         = "******",
                GebruikersNummer = "1",
                Email            = "*****@*****.**",
                Naam             = "testNaam",
                Voornaam         = "testVoornaam",
                Verlanglijst     = new Verlanglijst(),
                Reservaties      = new List <Reservatie>()
            };
            CurrentGebruikerPersoneel = new Personeel()
            {
                UserName         = "******",
                GebruikersNummer = "2",
                Email            = "*****@*****.**",
                Naam             = "testPersoneel",
                Voornaam         = "testPersoneelV",
                Verlanglijst     = new Verlanglijst(),
                Reservaties      = new List <Reservatie>()
            };
            Email = new Email()
            {
                Body    = "body",
                EmailId = 1,
                Footer  = "footer",
                Header  = "header",
                Status  = ReservatieStatus.Gereserveerd,
                Subject = "subject"
            };
        }
        public void TestLeergebiedNaam()
        {
            Leergebied lg = new Leergebied("lg");

            Assert.AreEqual("lg", lg.Naam);
        }
        protected override void Seed(CatalogusContext context)
        {
            try
            {
                #region Creatie Doelgroep
                Doelgroep kleuterOnderwijs = new Doelgroep("Kleuter onderwijs")
                {
                    DoelgroepId = 1
                };
                Doelgroep lagerOnderwijs = new Doelgroep("Lager onderwijs")
                {
                    DoelgroepId = 2
                };
                Doelgroep secundairOnderwijs = new Doelgroep("Secundair onderwijs")
                {
                    DoelgroepId = 3
                };
                #endregion

                #region Creatie Leergebied
                Leergebied knutselen = new Leergebied("Knutselen")
                {
                    LeergebiedId = 1
                };
                Leergebied tekenen = new Leergebied("Tekenen")
                {
                    LeergebiedId = 2
                };
                Leergebied chemie = new Leergebied("Chemie")
                {
                    LeergebiedId = 3
                };
                #endregion

                #region Creatie Firma
                Firma Ruytcol = new Firma()
                {
                    FirmaId             = 1,
                    Naam                = "Ruytcol",
                    ContactPersoon      = "Jof Ruytcol",
                    EmailContactPersoon = "*****@*****.**",
                    Website             = "www.ruytcol.be"
                };
                Firma Ledhaize = new Firma()
                {
                    FirmaId             = 2,
                    Naam                = "Ledhaize",
                    ContactPersoon      = "Julien Ledhaize",
                    EmailContactPersoon = "*****@*****.**",
                    Website             = "www.ledhaize.be"
                };
                #endregion

                #region Creatie Product
                Product dobbelsteen = new Product()
                {
                    Artikelnaam       = "dobbelsteen schatkist",
                    Omschrijving      = "Koffertje met verschillende dobbelstenen : blanco met cijfers,... 162-delig.",
                    Artikelnummer     = "MH1447",
                    Prijs             = 35,
                    AantalInCatalogus = 10,
                    Uitleenbaar       = true,
                    Foto                 = "~/Content/images/dobbelsteen.jpg",
                    ProductId            = 1,
                    AantalProductStukken = 5,
                    Firma                = Ruytcol
                };
                dobbelsteen.Doelgroepen.Add(kleuterOnderwijs);
                dobbelsteen.Leergebieden.Add(knutselen);

                Product draaischijf = new Product()
                {
                    Artikelnaam       = "Blanco draaischijf",
                    Omschrijving      = "Met verschillende blanco",
                    Artikelnummer     = "EL5955",
                    Prijs             = 31.45M,
                    AantalInCatalogus = 15,
                    Uitleenbaar       = false,
                    Foto                 = "~/Content/images/draaischijf.jpg",
                    ProductId            = 2,
                    AantalProductStukken = 1,
                    Firma                = Ledhaize
                };


                draaischijf.Doelgroepen.Add(lagerOnderwijs);
                draaischijf.Doelgroepen.Add(secundairOnderwijs);
                draaischijf.Leergebieden.Add(tekenen);

                Product dissectiebak = new Product()
                {
                    Artikelnaam       = "Dissectiebakken",
                    Omschrijving      = "Bakken voor het dissecteren.",
                    Artikelnummer     = "DB6987",
                    Prijs             = 15,
                    AantalInCatalogus = 15,
                    Uitleenbaar       = true,
                    Foto                 = "~/Content/images/dissectiebak.jpg",
                    ProductId            = 3,
                    AantalProductStukken = 5,
                    Firma                = Ledhaize
                };

                dissectiebak.Doelgroepen.Add(lagerOnderwijs);
                dissectiebak.Doelgroepen.Add(secundairOnderwijs);
                dissectiebak.Leergebieden.Add(chemie);

                Product verfborstel = new Product()
                {
                    Artikelnaam       = "Verfborstel",
                    Omschrijving      = "Kwast voor het verfen van fijne lijnen.",
                    Artikelnummer     = "VB4200",
                    Prijs             = 5,
                    AantalInCatalogus = 20,
                    Uitleenbaar       = false,
                    Foto                 = "~/Content/images/verfborstel.jpg",
                    ProductId            = 4,
                    AantalProductStukken = 3,
                    Firma                = Ruytcol
                };
                verfborstel.Doelgroepen.Add(kleuterOnderwijs);
                verfborstel.Doelgroepen.Add(lagerOnderwijs);
                verfborstel.Doelgroepen.Add(secundairOnderwijs);
                verfborstel.Leergebieden.Add(knutselen);
                verfborstel.Leergebieden.Add(tekenen);
                #endregion

                #region Creatie Gebruikers en Rollen

                var userStore = new UserStore <ApplicationUser>(context);
                userManager = new UserManager <ApplicationUser>(userStore);
                var roleStore = new RoleStore <IdentityRole>(context);
                roleManager = new RoleManager <IdentityRole>(roleStore);
                GebruikersEnRollenGenereren();

                #endregion

                String headerReservatie = "Beste {voornaam} {naam}, <br/> Uw reservatie is succesvol geregistreerd. U vindt de details van de reservatie onderaan.<br/>";
                String bodyReservatie   = "<br /> Start datum reservatie: {reservatieStartDatum}";
                bodyReservatie += "<br /><br /> Eind datum reservatie: {reservatieEindDatum}";
                String footerReservatie = "<br /><br /> Met vriendelijke groeten, ";
                footerReservatie += "<br /><br /> Het team Didactische Leermiddelen Groep 7";
                String subjectReservatie = "Bevestiging Reservatie van {reservatieStartDatum} tot  {reservatieEindDatum}";
                Email  reservatieEmail   = new Email(headerReservatie, bodyReservatie, footerReservatie, subjectReservatie, ReservatieStatus.Gereserveerd);
                Email  blokkeringEmail   = new Email(headerReservatie, bodyReservatie, footerReservatie, subjectReservatie, ReservatieStatus.Geblokkeerd);
                String headerWijziging   = "Beste {voornaam} {naam}, <br/> Uw reservatie is gewijzigd. U vindt de details van de wijziging onderaan.<br/>";
                String bodyWijziging     = "<br /> Start datum reservatie: {reservatieStartDatum}";
                bodyWijziging += "<br /><br /> Eind datum reservatie: {reservatieEindDatum}";
                String footerWijziging = "<br /><br /> Met vriendelijke groeten, ";
                footerWijziging += "<br /><br /> Het team Didactische Leermiddelen Groep 7";
                String subjectWijziging = "Wijziging reservatie van {reservatieStartDatum} tot  {reservatieEindDatum}";
                Email  wijzigEmail      = new Email(headerWijziging, bodyWijziging, footerWijziging, subjectWijziging, ReservatieStatus.Gewijzigd);
                String headerAnnulering = "Beste {voornaam} {naam}, <br/> Uw reservatie is geannuleerd. U vindt de details van de annulatie onderaan.<br/>";
                String bodyAnnulering   = "<br /> Start datum reservatie: {reservatieStartDatum}";
                bodyAnnulering += "<br /><br /> Eind datum reservatie: {reservatieEindDatum}";
                String footerAnnulering = "<br /><br /> Met vriendelijke groeten, ";
                footerAnnulering += "<br /><br /> Het team Didactische Leermiddelen Groep 7";
                String subjectAnnulering = "Annulering reservatie van {reservatieStartDatum} tot  {reservatieEindDatum}";
                Email  annuleringEmail   = new Email(headerAnnulering, bodyAnnulering, footerAnnulering, subjectAnnulering, ReservatieStatus.Geannuleerd);


                #region Context add
                context.Doelgroepen.Add(kleuterOnderwijs);
                context.Doelgroepen.Add(lagerOnderwijs);
                context.Doelgroepen.Add(secundairOnderwijs);
                context.Leergebieden.Add(knutselen);
                context.Leergebieden.Add(tekenen);
                context.Leergebieden.Add(chemie);
                context.Producten.Add(draaischijf);
                context.Producten.Add(dobbelsteen);
                context.Producten.Add(dissectiebak);
                context.Producten.Add(verfborstel);
                context.Emails.Add(reservatieEmail);
                context.Emails.Add(blokkeringEmail);
                context.Emails.Add(wijzigEmail);
                context.Emails.Add(annuleringEmail);
                #endregion

                context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                string s = "Fout creatie database ";
                foreach (var eve in e.EntityValidationErrors)
                {
                    s += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.GetValidationResult());
                    foreach (var ve in eve.ValidationErrors)
                    {
                        s += String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw new Exception(s);
            }
        }