/// <summary>
        /// Stelt een posse van pieten samen.
        /// </summary>
        /// <param name="gemeente"></param>
        /// <param name="cadeauTypes"></param>
        /// <returns></returns>
        public List<Piet> StelPosseSamen(Gemeente gemeente, List<CadeauType> cadeauTypes)
        {
            List<Piet> posse = new List<Piet>();
            if (Thuisbasis != null)
            {
                if (gemeente.AfstandTot(Thuisbasis) > 2500) //gebruik 2500 als 25km anders zijn er te weinig waarden.
                {
                    posse.Add(new WegWijsPiet());
                }
            }

            if (cadeauTypes.Contains(CadeauType.Gedicht))
            {
                posse.Add(new RijmPiet());
            }

            if (cadeauTypes.Contains(CadeauType.Digitaal))
            {
                posse.Add(new TechnischePiet());
            }

            if (cadeauTypes.Contains(CadeauType.Speelgoed))
            {
                posse.Add(new KnutselPiet());
            }

            if (cadeauTypes.Contains(CadeauType.Educatief))
            {
                posse.Add(new TechnischePiet());
                posse.Add(new KnutselPiet());
            }

            if (gemeente.AantalKinderen > 10000)
            {
                foreach (Piet p in posse.ToList())
                {
                    if (!(p is WegWijsPiet))
                    {
                        posse.Add(p);
                    }
                }
            }
            return posse;
        }
Example #2
0
        public Straat ReturnStraatInGemeente(int straatId, Gemeente gemeente)
        {
            string        straatQuery  = "SELECT * FROM dbo.straat WHERE Id=@StraatId";
            string        segmentQuery = "SELECT * FROM dbo.segment JOIN straatSegmenten ON straatSegmenten.SegmentId = segment.Id WHERE straatId = @StraatId";
            string        knoopQuery   = "SELECT punt.X,punt.Y FROM dbo.knoop JOIN punt ON knoop.PuntId = Punt.Id WHERE knoop.Id = @KnoopId";
            string        puntQuery    = "SELECT * FROM dbo.punt JOIN dbo.vertices ON punt.Id=vertices.PuntId WHERE vertices.segmentId = @segmentId ORDER BY vertices.PuntId";
            SqlConnection connection   = getConnection();

            using (SqlCommand puntCommand = connection.CreateCommand())
                using (SqlCommand knoopCommand = connection.CreateCommand())
                    using (SqlCommand segmentCommand = connection.CreateCommand())
                        using (SqlCommand straatCommand = connection.CreateCommand())
                        {
                            straatCommand.CommandText = straatQuery;
                            straatCommand.Parameters.Add(new SqlParameter("@StraatId", SqlDbType.Int));
                            straatCommand.Parameters["@StraatId"].Value = straatId;

                            segmentCommand.CommandText = segmentQuery;
                            segmentCommand.Parameters.Add(new SqlParameter("@StraatId", SqlDbType.Int));
                            segmentCommand.Parameters["@StraatId"].Value = straatId;

                            knoopCommand.CommandText = knoopQuery;
                            knoopCommand.Parameters.Add(new SqlParameter("@KnoopId", SqlDbType.Int));

                            puntCommand.CommandText = puntQuery;
                            puntCommand.Parameters.Add(new SqlParameter("@SegmentId", SqlDbType.Int));
                            connection.Open();

                            try
                            {
                                List <Segment> segmenten = new List <Segment>();

                                SqlDataReader reader = straatCommand.ExecuteReader();
                                reader.Read();
                                string straatnaam = (string)reader["Naam"];
                                reader.Close();

                                reader = segmentCommand.ExecuteReader();
                                List <int> segmentIds    = new List <int>();
                                List <int> beginKnoopIds = new List <int>();
                                List <int> eindKnoopIds  = new List <int>();
                                while (reader.Read())
                                {
                                    segmentIds.Add((int)reader["Id"]);
                                    beginKnoopIds.Add((int)reader["BeginKnoopId"]);
                                    eindKnoopIds.Add((int)reader["EindKnoopId"]);
                                }
                                reader.Close();

                                //hier beginnen we te loopen om onze segmenten op te bouwen.
                                for (int i = 0; i < segmentIds.Count; i++)
                                {
                                    knoopCommand.Parameters["@KnoopId"].Value = beginKnoopIds[i];
                                    reader = knoopCommand.ExecuteReader();
                                    reader.Read();
                                    double beginX = (double)reader["X"];
                                    double beginY = (double)reader["Y"];
                                    reader.Close();

                                    knoopCommand.Parameters["@KnoopId"].Value = eindKnoopIds[i];
                                    reader = knoopCommand.ExecuteReader();
                                    reader.Read();
                                    double eindX = (double)reader["X"];
                                    double eindY = (double)reader["Y"];
                                    reader.Close();

                                    puntCommand.Parameters["@SegmentId"].Value = segmentIds[i];
                                    reader = puntCommand.ExecuteReader();
                                    Knoop       beginKnoop = new Knoop(beginKnoopIds[i], new Punt(beginX, beginY));
                                    Knoop       eindKnoop  = new Knoop(eindKnoopIds[i], new Punt(eindX, eindY));
                                    List <Punt> punten     = new List <Punt>()
                                    {
                                        beginKnoop.SegmentPunt
                                    };
                                    while (reader.Read())
                                    {
                                        punten.Add(new Punt((double)reader["X"], (double)reader["Y"]));
                                    }
                                    reader.Close();
                                    punten.Add(eindKnoop.SegmentPunt);
                                    segmenten.Add(new Segment(segmentIds[i], beginKnoop, eindKnoop, punten));
                                }

                                Graaf tempGraaf = BouwGraaf(segmenten, straatId);

                                Straat returnStraat = new Straat(straatId, straatnaam, tempGraaf, gemeente);
                                return(returnStraat);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex);
                                return(null);
                            }
                            finally
                            {
                                connection.Close();
                            }
                        }
        }
        /// <summary>
        /// Voegt een gemeente toe afhankelijk van de gegeven data.
        /// </summary>
        /// <param name="gemeente"></param>
        /// <param name="provincie"></param>
        /// <param name="aantalKinderen"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        public void VoegToe(string gemeente, string provincie, int aantalKinderen, int x, int y)
        {
            Provincie prov = ZoekOpNaam(provincie);

            if (prov != null) //Indien er een provincie is gevonden voeg daar dan een nieuwe gemeente aan toe.
            {
                Gemeente g = new Gemeente(gemeente, prov, aantalKinderen, x, y);
                if (g.Naam == "Meppel")
                {
                    Thuisbasis = g;
                }
                prov.VoegGemeenteToe(g);
                prov.Gemeentes.Sort(); //Sorteert de gemeentes in de lijst van provincies op basis van kinderen.
            }
            else //Maak zowel een nieuwe provincie als gemeente aan.
            {
                prov = new Provincie(provincie);
                Gemeente g = new Gemeente(gemeente, prov, aantalKinderen, x, y);
                if (g.Naam == "Meppel")
                {
                    Thuisbasis = g;
                }
                prov.VoegGemeenteToe(g);
                Provincies.Add(prov);
            }
        }
        //Console.WriteLine("testen");
        //Belgie belg = TestData();
        ////Knoop knoop1 = new Knoop(30, new Punt(2.45, 3.45));
        ////dp.FillDataBase();
        //}

        static Belgie TestData()
        {
            Punt  testPunt1 = new Punt(2.45, 3.45);
            Punt  testPunt2 = new Punt(3.45, 4.45);
            Punt  testPunt3 = new Punt(4.45, 5.45);
            Punt  testPunt4 = new Punt(5.45, 6.45);
            Punt  testPunt5 = new Punt(6.45, 7.45);
            Knoop knoop1    = new Knoop(30, testPunt1);
            Knoop knoop2    = new Knoop(40, testPunt2);
            Knoop knoop3    = knoop1;
            Knoop knoop4    = new Knoop(50, testPunt3);

            List <Punt> puntlijstSeg1 = new List <Punt> {
                testPunt4
            };
            List <Punt> puntlijstSeg2 = new List <Punt> {
                testPunt5
            };

            Segment testSegment1 = new Segment(112, knoop1, knoop2, puntlijstSeg1);
            Segment testSegment2 = new Segment(113, knoop3, knoop4, puntlijstSeg2);

            Dictionary <Knoop, List <Segment> > testMap1 = new Dictionary <Knoop, List <Segment> >();

            testMap1.Add(knoop1, new List <Segment> {
                testSegment1
            });
            testMap1.Add(knoop2, new List <Segment> {
                testSegment1
            });
            Dictionary <Knoop, List <Segment> > testMap2 = new Dictionary <Knoop, List <Segment> >();

            testMap2.Add(knoop1, new List <Segment> {
                testSegment2
            });
            testMap2.Add(knoop2, new List <Segment> {
                testSegment2
            });

            Graaf testGraaf1 = new Graaf(250, testMap1);
            Graaf testGraaf2 = new Graaf(260, testMap2);



            Gemeente  testGemeente  = new Gemeente(12, "testGemeente");
            Straat    testStraat1   = new Straat(10, "TestStraat1", testGraaf1, testGemeente);
            Straat    testStraat2   = new Straat(20, "TestStraat2", testGraaf2, testGemeente);
            Provincie testProvincie = new Provincie(1, "testProvincie");

            testProvincie.VoegGemeenteToe(testGemeente);
            Belgie belg = new Belgie(new List <Provincie>()
            {
                testProvincie
            });

            DataProcessing dp = new DataProcessing(belg);

            dp.CompletelyFillDataBase();

            return(belg);
        }
 public void Update(Gemeente gemeente)
 {
     _context.Gemeentes.Update(gemeente);
     _context.SaveChanges();
 }
        protected override void Seed(BierhalleContext context)
        {
            try
            {
                Gemeente bavikhove = new Gemeente {
                    Naam = "Bavikhove", Postcode = "8531"
                };
                Gemeente roeselare = new Gemeente {
                    Naam = "Roeselare", Postcode = "8800"
                };
                Gemeente puurs = new Gemeente {
                    Naam = "Puurs", Postcode = "2870"
                };
                Gemeente leuven = new Gemeente {
                    Naam = "Leuven", Postcode = "3000"
                };
                Gemeente oudenaarde = new Gemeente {
                    Naam = "Oudenaarde", Postcode = "9700"
                };
                Gemeente affligem = new Gemeente {
                    Naam = "Affligem", Postcode = "1790"
                };
                Gemeente[] gemeenten =
                    new Gemeente[] { bavikhove, roeselare, puurs, leuven, oudenaarde, affligem };
                context.Gemeenten.AddRange(gemeenten);

                Brouwer bavik = new Brouwer("Bavik", bavikhove, "Rijksweg 33");
                context.Brouwers.Add(bavik);
                bavik.AddBier("Bavik Pils", 5.2);
                bavik.AddBier("Wittekerke", 5.0);
                bavik.AddBier("Wittekerke Speciale", 5.8);
                bavik.AddBier("Wittekerke Rosé", 4.3);
                bavik.AddBier("Ezel Wit", 5.8);
                bavik.AddBier("Ezel Bruin", 6.5);
                bavik.Omzet = 20000000;

                Brouwer palm = new Brouwer("Palm Breweries");
                context.Brouwers.Add(palm);
                palm.AddBier("Estimanet", 5.2);
                palm.AddBier("Steenbrugge Blond", 6.5);
                palm.AddBier("Palm", 5.4);
                palm.AddBier("Dobbel Palm", 6.0);
                palm.Omzet = 500000;

                Brouwer duvelMoortgat = new Brouwer("Duvel Moortgat", puurs, "Breendonkdorp 28");
                context.Brouwers.Add(duvelMoortgat);
                duvelMoortgat.AddBier("Duvel", 8.5);
                duvelMoortgat.AddBier("Vedett");
                duvelMoortgat.AddBier("Maredsous");
                duvelMoortgat.AddBier("Liefmans Kriekbier");
                duvelMoortgat.AddBier("La Chouffe", 8.0);
                duvelMoortgat.AddBier("De Koninck", 5.0);

                Brouwer inBev = new Brouwer("InBev", leuven, "Brouwerijplein 1");
                context.Brouwers.Add(inBev);
                inBev.AddBier("Jupiler");
                inBev.AddBier("Stella Artois");
                inBev.AddBier("Leffe");
                inBev.AddBier("Belle-Vue");
                inBev.AddBier("Hoegaarden");

                Brouwer roman = new Brouwer("Roman", oudenaarde, "Hauwaart 105");
                context.Brouwers.Add(roman);
                roman.AddBier("Sloeber", 7.5);
                roman.AddBier("Black Hole", 5.6);
                roman.AddBier("Ename", 6.5);
                roman.AddBier("Romy Pils", 5.1);

                Brouwer deGraal = new Brouwer("De Graal");
                context.Brouwers.Add(deGraal);

                Brouwer deLeeuw = new Brouwer("De Leeuw");
                context.Brouwers.Add(deLeeuw);

                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);
            }
        }
 /// <summary>
 /// Voegt een gemeente toe aan de lijst met gemeentes uit deze provincie.
 /// </summary>
 /// <param name="gemeente">De gemeente die moet worden toegevoegd.</param>
 public void VoegGemeenteToe(Gemeente gemeente)
 {
     Gemeentes.Add(gemeente);
 }
Example #8
0
 public Straatnaam(int ID, string straatnaam, Gemeente gemeente)
 {
     this.ID         = ID;
     this.straatnaam = straatnaam;
     this.gemeente   = gemeente;
 }
Example #9
0
 public void ChangeGemeente(Gemeente gemeente)
 {
     gemeenterepo.UpdateGemeente(gemeente);
 }
Example #10
0
        public static void Initialize(VLContext context)
        {
            context.Database.EnsureCreated();

            // Look for any activiteiten.
            if (context.Activiteiten.Any())
            {
                return;   // DB has been seeded
            }

            var provincies = new Provincie[]
            {
                new Provincie {
                    ProvincieID = 200, Naam = "Limburg"
                },
                new Provincie {
                    ProvincieID = 100, Naam = "Antwerpen"
                },
                new Provincie {
                    ProvincieID = 300, Naam = "Vlaams-Brabant"
                },
                new Provincie {
                    ProvincieID = 400, Naam = "West-Vlaanderen"
                },
                new Provincie {
                    ProvincieID = 500, Naam = "Oost-Vlaanderen"
                },
            };

            foreach (var p in provincies)
            {
                context.Provincies.Add(p);
            }
            context.SaveChanges();

            var gemeentes = new Gemeente[]
            {
                new Gemeente {
                    GemeenteID = 2440, ProvincieID = 100, Naam = "Geel"
                },
                new Gemeente {
                    GemeenteID = 2200, ProvincieID = 100, Naam = "Herentals"
                },
                new Gemeente {
                    GemeenteID = 3390, ProvincieID = 300, Naam = "Tielt-Winge"
                },
                new Gemeente {
                    GemeenteID = 3500, ProvincieID = 200, Naam = "Hasselt"
                },
                new Gemeente {
                    GemeenteID = 2260, ProvincieID = 100, Naam = "Westerlo"
                },
                new Gemeente {
                    GemeenteID = 3000, ProvincieID = 300, Naam = "Leuven"
                },
                new Gemeente {
                    GemeenteID = 3200, ProvincieID = 300, Naam = "Aarschot"
                },
                new Gemeente {
                    GemeenteID = 3700, ProvincieID = 200, Naam = "Tongeren"
                },
            };

            foreach (var g in gemeentes)
            {
                context.Gemeentes.Add(g);
            }
            context.SaveChanges();

            var activiteiten = new Activiteit[]
            {
                new Activiteit {
                    ActiviteitID = 1, GemeenteID = 3500, MaxPersonen = 3, Naam = "Shotjes in het Jenevermuseum", Datum = DateTime.Parse("2020-08-08")
                },
                new Activiteit {
                    ActiviteitID = 200, GemeenteID = 2440, MaxPersonen = 10, Naam = "Stadswandeling", Datum = DateTime.Parse("2020-07-15")
                },
                new Activiteit {
                    ActiviteitID = 3, GemeenteID = 3390, MaxPersonen = 2, Naam = "Uitzicht vanop de Vlooybergtoren", Datum = DateTime.Parse("2020-08-23")
                },
                new Activiteit {
                    ActiviteitID = 40, GemeenteID = 2260, MaxPersonen = 15, Naam = "Natuurwandeling Kwarekken", Datum = DateTime.Parse("2020-08-03")
                },
                new Activiteit {
                    ActiviteitID = 5, GemeenteID = 3000, MaxPersonen = 5, Naam = "Universiteitsbibliotheek en -toren", Datum = DateTime.Parse("2020-07-06")
                },
                new Activiteit {
                    ActiviteitID = 61, GemeenteID = 2440, MaxPersonen = 3, Naam = "Bezoek Gasthuismuseum", Datum = DateTime.Parse("2020-07-01")
                },
                new Activiteit {
                    ActiviteitID = 7, GemeenteID = 2260, MaxPersonen = 8, Naam = "Gegidst bezoek gemeentehuis", Datum = DateTime.Parse("2020-07-11")
                },
                new Activiteit {
                    ActiviteitID = 88, GemeenteID = 2200, MaxPersonen = 15, Naam = "Boerenkrijgwandeling", Datum = DateTime.Parse("2020-08-15")
                },
                new Activiteit {
                    ActiviteitID = 900, GemeenteID = 3500, MaxPersonen = 30, Naam = "Japanse tuin", Datum = DateTime.Parse("2020-07-09")
                },
                new Activiteit {
                    ActiviteitID = 1000, GemeenteID = 3500, MaxPersonen = 15, Naam = "Het stadsmus", Datum = DateTime.Parse("2020-07-10")
                },
                new Activiteit {
                    ActiviteitID = 11, GemeenteID = 3700, MaxPersonen = 10, Naam = "Gallo-Romeins Museum", Datum = DateTime.Parse("2020-08-11")
                },
                new Activiteit {
                    ActiviteitID = 1212, GemeenteID = 2440, MaxPersonen = 8, Naam = "De schatten van de Sint-Dimpnakerk", Datum = DateTime.Parse("2020-07-22")
                },
                new Activiteit {
                    ActiviteitID = 13, GemeenteID = 3000, MaxPersonen = 15, Naam = "Wandeling Groot Begijnhof", Datum = DateTime.Parse("2020-08-14")
                },
                new Activiteit {
                    ActiviteitID = 141, GemeenteID = 3390, MaxPersonen = 8, Naam = "Ridderavontuur in het kasteel van Horst", Datum = DateTime.Parse("2020-07-25")
                },
                new Activiteit {
                    ActiviteitID = 15, GemeenteID = 3200, MaxPersonen = 6, Naam = "Bezoek stadsbrouwerij", Datum = DateTime.Parse("2020-08-07")
                },
            };

            foreach (var a in activiteiten)
            {
                context.Activiteiten.Add(a);
            }
            context.SaveChanges();

            var inschrijvingen = new Inschrijving[]
            {
                new Inschrijving {
                    Naam = "Jef Verboven", Email = "*****@*****.**", ActiviteitID = 1
                },
                new Inschrijving {
                    Naam = "Ans Heylen", Email = "*****@*****.**", ActiviteitID = 3
                },
                new Inschrijving {
                    Naam = "Steff Quintens", Email = "*****@*****.**", ActiviteitID = 88
                },
                new Inschrijving {
                    Naam = "Alex Peeters", Email = "*****@*****.**", ActiviteitID = 5
                },
                new Inschrijving {
                    Naam = "Mies Gevers", Email = "*****@*****.**", ActiviteitID = 3
                },
                new Inschrijving {
                    Naam = "Wout Stevens", Email = "*****@*****.**", ActiviteitID = 7
                },
                new Inschrijving {
                    Naam = "Karel Abeloos", Email = "*****@*****.**", ActiviteitID = 88
                },
                new Inschrijving {
                    Naam = "Els Van Mol", Email = "*****@*****.**", ActiviteitID = 5
                },
                new Inschrijving {
                    Naam = "Griet Van Lommel", Email = "*****@*****.**", ActiviteitID = 61
                },
                new Inschrijving {
                    Naam = "Lea Storms", Email = "*****@*****.**", ActiviteitID = 61
                },
                new Inschrijving {
                    Naam = "Steven Haeckens", Email = "*****@*****.**", ActiviteitID = 7
                },
                new Inschrijving {
                    Naam = "Peter Vanheuckelom", Email = "*****@*****.**", ActiviteitID = 5
                },
                new Inschrijving {
                    Naam = "Dana Wouters", Email = "*****@*****.**", ActiviteitID = 1000
                },
                new Inschrijving {
                    Naam = "Laura Fleerackers", Email = "*****@*****.**", ActiviteitID = 11
                },
                new Inschrijving {
                    Naam = "Hugo Christiaans", Email = "*****@*****.**", ActiviteitID = 1000
                },
                new Inschrijving {
                    Naam = "Greet Mertens", Email = "*****@*****.**", ActiviteitID = 61
                },
                new Inschrijving {
                    Naam = "Dieter Sjegers", Email = "*****@*****.**", ActiviteitID = 11
                }
            };

            foreach (var i in inschrijvingen)
            {
                context.Inschrijvingen.Add(i);
            }
            context.SaveChanges();
        }