示例#1
0
        public static Adres getAdres(int id)
        {
            DatabaseUtil    database = new DatabaseUtil(Program.mysql_host, Program.mysql_user, Program.mysql_pass, Program.mysql_data);
            MySqlConnection con      = database.connection;

            using var cmd = database.CommandExecutor("SELECT * FROM adres WHERE id = @id");
            cmd.Parameters.AddWithValue("@id", id);

            con.Open();
            using MySqlDataReader rdr = cmd.ExecuteReader();

            if (rdr.Read())
            {
                int    streetID    = rdr.GetInt32("straatnaamID");
                String number      = rdr.GetString("huisnummer");
                String appNumber   = rdr.GetString("appnummer");
                String busNumber   = rdr.GetString("busnummer");
                String numberLabel = rdr.GetString("huisnummerlabel");
                int    locationID  = rdr.GetInt32("adreslocatieID");

                Straatnaam   straatnaam = Program.streets[streetID];
                AdresLocatie location   = Program.locations[locationID];

                Adres adres = new Adres(id, straatnaam, appNumber, busNumber, number, number, straatnaam.Gemeente, 0, location.X, location.Y);
                return(adres);
            }
            return(null);
        }
示例#2
0
        public static void addStreet(DatabaseUtil util, Straatnaam straatnaam)
        {
            MySqlConnection con = util.connection;

            using var cmd = util.CommandExecutor("SELECT * FROM straatnaam WHERE id = @id");
            cmd.Parameters.AddWithValue("@id", straatnaam.ID);

            con.Open();
            using MySqlDataReader rdr = cmd.ExecuteReader();

            if (!rdr.Read())
            {
                con.Close();

                using var cmd2 = util.CommandExecutor("INSERT INTO straatnaam (id, straatnaam, NIScode) VALUES (@id, @straatnaam, @niscode)");
                cmd2.Parameters.AddWithValue("@id", straatnaam.ID);
                cmd2.Parameters.AddWithValue("@straatnaam", straatnaam.Streetname);
                cmd2.Parameters.AddWithValue("@niscode", straatnaam.Gemeente.NIScode);

                con.Open();
                cmd2.Prepare();
                cmd2.ExecuteNonQuery();
                con.Close();
            }

            con.Close();
        }
示例#3
0
 public Adres(int id, Straatnaam straat, string appartementnummer, string busnummer, string huisnummer, string huisnummerlabel, Gemeente gemeente)
 {
     ID                = id;
     Straat            = straat;
     Appartementnummer = appartementnummer;
     Busnummer         = busnummer;
     Huisnummer        = huisnummer;
     Huisnummerlabel   = huisnummerlabel;
     //Gemeente = gemeente;
     Postcode = 0;
 }
示例#4
0
 public Adres(int id, Straatnaam straat, string appartementnummer, string busnummer, string huisnummer, string huisnummerlabel, Gemeente gemeente, int postcode, double x, double y)
 {
     ID                = id;
     Straat            = straat;
     Appartementnummer = appartementnummer;
     Busnummer         = busnummer;
     Huisnummer        = huisnummer;
     Huisnummerlabel   = huisnummerlabel;
     //Gemeente = gemeente;
     Postcode = postcode;
     Locatie  = new AdresLocatie(x, y);
 }
示例#5
0
 public override bool Equals(object obj)
 {
     if (obj is Straatnaam)
     {
         Straatnaam other = obj as Straatnaam;
         return(this.ID == other.ID);
     }
     else
     {
         return(false);
     }
 }
示例#6
0
 public Adres(int id, Straatnaam straatnaam, String appNumber, String busNumber, String number, String numberLabel, Gemeente gemeente, int postcode, double x, double y)
 {
     this.ID          = id;
     this.AppNumber   = appNumber;
     this.BusNumber   = busNumber;
     this.Number      = number;
     this.NumberLabel = numberLabel;
     this.Straatnaam  = straatnaam;
     this.PostCode    = postcode;
     this.Gemeente    = gemeente;
     this.addLocation(x, y);
 }
示例#7
0
        public Adres geefAdres(int id)
        {
            DbConnection connection = getConnection();
            string       query      = "SELECT * FROM dbo.adres WHERE Id=@Id";

            //string queryAS = "SELECT * FROM dbo.gemeente t1"
            //    + "where t1.NIScode = @NIScode";
            //string queryAB = "SELECT * FROM dbo.straatnaam t2" + "WHERE t2.Id=@straatnaamID";
            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = query;
                DbParameter paramId = sqlFactory.CreateParameter();
                paramId.ParameterName = "@Id";
                paramId.DbType        = DbType.Int32;
                paramId.Value         = id;
                command.Parameters.Add(paramId);
                connection.Open();
                try
                {
                    DbDataReader reader = command.ExecuteReader();
                    reader.Read();
                    int    adresId           = (int)reader["Id"];
                    int    straatnaamID      = (int)reader["straatnaamID"];
                    string huisnummer        = (string)reader["huisnummer"];
                    string appartementnummer = (string)reader["appartementnummer"];
                    string busnummer         = (string)reader["busnummer"];
                    string huisnummerlabel   = (string)reader["huisnummerlabel"];
                    int    adreslocatieID    = (int)reader["adreslocatieID"];

                    reader.Close();

                    Straatnaam straat = GeefStraat(straatnaamID);

                    Adres adres = new Adres(adresId, straat, appartementnummer, busnummer, huisnummer, huisnummerlabel, straat.Gemeente);

                    Console.WriteLine($"Gemeente: {straat.Gemeente.GemeenteNaam} {straat.Gemeente.NIScode} \nStraat: {straat.straatnaam} {straat.ID}\nAdres: {adresId} {huisnummer} {appartementnummer} {busnummer} ");


                    return(adres);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(null);
                }
                finally
                {
                    connection.Close();
                }
            }
        }
示例#8
0
        public void voegStraatToe(Straatnaam straat)
        {
            DbConnection connection  = getConnection();
            string       queryStraat = "INSERT INTO dbo.straatnaam(Id, straatnaam, NIScode) VALUES(@Id, @straatnaam, @NIScode)";

            using (DbCommand command = connection.CreateCommand())
            {
                connection.Open();

                try
                {
                    DbParameter paId = sqlFactory.CreateParameter();
                    paId.ParameterName = "@Id";
                    paId.DbType        = DbType.Int32;
                    command.Parameters.Add(paId);
                    DbParameter parStraatnaam = sqlFactory.CreateParameter();
                    parStraatnaam.ParameterName = "@straatnaam";
                    parStraatnaam.DbType        = DbType.String;
                    command.Parameters.Add(parStraatnaam);
                    DbParameter parNIScode = sqlFactory.CreateParameter();
                    parNIScode.ParameterName = "@NIScode";
                    parNIScode.DbType        = DbType.Int32;
                    command.Parameters.Add(parNIScode);


                    command.CommandText                     = queryStraat;
                    command.Parameters["@Id"].Value         = straat.ID;
                    command.Parameters["@NIScode"].Value    = straat.Gemeente.NIScode;
                    command.Parameters["@straatnaam"].Value = straat.straatnaam;


                    command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                finally
                {
                    connection.Close();
                }
            }
        }
示例#9
0
        //public AdresLocatie GetAdresLocatie()
        //{

        //}

        public Straatnaam GeefStraat(int id)
        {
            DbConnection connection = getConnection();
            string       query      = "SELECT * FROM dbo.straatnaam WHERE id=@id";

            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = query;
                DbParameter paramId = sqlFactory.CreateParameter();
                paramId.ParameterName = "@Id";
                paramId.DbType        = DbType.Int32;
                paramId.Value         = id;
                command.Parameters.Add(paramId);
                connection.Open();
                try
                {
                    DbDataReader reader = command.ExecuteReader();
                    reader.Read();
                    int    straatID   = (int)reader["Id"];
                    string straatnaam = (string)reader["straatnaam"];
                    int    NIScode    = (int)reader["NIScode"];
                    reader.Close();

                    Gemeente   gemeente = GeefGemeente(NIScode);
                    Straatnaam straat   = new Straatnaam(straatID, straatnaam, gemeente);

                    return(straat);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(null);
                }
                finally
                {
                    connection.Close();
                }
            }
        }
示例#10
0
        public Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > > LeesAdressen()
        {
            //Dictionary<Straatnaam, List<Adres>> straatnamen = new Dictionary<Straatnaam, List<Adres>>();
            Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > > gemeentes = new Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > >();

            using (StreamReader sr = File.OpenText(@"C:\Users\Sieglinde\OneDrive\Documenten\Programmeren\semester2\programmeren 3\adresbeheer\CrabAdr.gml"))
            {
                string input     = null;
                char[] splitsers = { '<', '>' };

                int    id                = 0;
                int    straatnaamId      = 0;
                string straatnaam        = "";
                string huisnummer        = null;
                string appartementnummer = null;
                string busnummer         = null;
                string huisnrLabel       = null;
                int    nis               = 0;
                string gemeentenaam      = null;
                double x        = 0;
                double y        = 0;
                int    postcode = 0;


                for (int t = 0; t < 7; t++)
                {
                    sr.ReadLine();
                }

                while ((sr.ReadLine()) != null)
                {
                    for (int teller = 1; teller <= 22; teller++)
                    {
                        input = sr.ReadLine();
                        if (input == null)
                        {
                            break;
                        }
                        else if (teller == 1 || (teller >= 12 && teller <= 15) || teller >= 18)
                        {
                        }
                        else if (teller == 2)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                id = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 3)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                straatnaamId = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 4)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                straatnaam = inputs[2];
                            }
                        }
                        else if (teller == 5)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                huisnummer = inputs[2];
                            }
                        }
                        else if (teller == 6)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                appartementnummer = inputs[2];
                            }
                        }
                        else if (teller == 7)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                busnummer = inputs[2];
                            }
                        }
                        else if (teller == 8)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                huisnrLabel = inputs[2];
                            }
                        }
                        else if (teller == 9)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                nis = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 10)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                gemeentenaam = inputs[2];
                            }
                        }
                        else if (teller == 11)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                postcode = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 16)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                x = double.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 17)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                y = double.Parse(inputs[2]);
                            }
                        }
                    }
                    //kijken of de gemeente al in de dictionary zit, zo niet: gemeente maken
                    Gemeente gemeente = new Gemeente(nis, gemeentenaam);
                    if (!gemeentes.ContainsKey(gemeente))
                    {
                        gemeentes.Add(gemeente, new Dictionary <Straatnaam, List <Adres> >());
                    }

                    //kijken of de straat al in de dictionary zit, zo niet: straat maken
                    Straatnaam straat = new Straatnaam(straatnaamId, straatnaam, gemeente);

                    if (!gemeentes[gemeente].ContainsKey(straat))
                    {
                        gemeentes[gemeente].Add(straat, new List <Adres>());
                    }

                    //adres aanmaken
                    Adres adres = new Adres(id, straat, appartementnummer, busnummer, huisnummer, huisnrLabel, gemeente, postcode, x, y);

                    //adres toevoegen aan dictionary
                    gemeentes[gemeente][straat].Add(adres);
                }
            }
            return(gemeentes);
        }
示例#11
0
        public static void buildObject(List <String> lines)
        {
            Dictionary <String, String> data = new Dictionary <String, String>();

            foreach (String line in lines)
            {
                // Collect data
                if (line.Contains(":ID>"))
                {
                    data.Add("ID", cleanObject(line));
                }

                if (line.Contains(":STRAATNMID"))
                {
                    data.Add("STRAATNMID", cleanObject(line));
                }

                if (line.Contains(":STRAATNM>"))
                {
                    data.Add("STRAATNM", cleanObject(line));
                }

                if (line.Contains(":HUISNR"))
                {
                    data.Add("HUISNR", cleanObject(line));
                }

                if (line.Contains(":APPTNR"))
                {
                    data.Add("APPTNR", cleanObject(line));
                }

                if (line.Contains(":BUSNR"))
                {
                    data.Add("BUSNR", cleanObject(line));
                }

                if (line.Contains(":HNRLABEL"))
                {
                    data.Add("HNRLABEL", cleanObject(line));
                }

                if (line.Contains(":NISCODE"))
                {
                    data.Add("NISCODE", cleanObject(line));
                }

                if (line.Contains(":GEMEENTE"))
                {
                    data.Add("GEMEENTE", cleanObject(line));
                }

                if (line.Contains(":POSTCODE"))
                {
                    data.Add("POSTCODE", cleanObject(line));
                }

                if (line.Contains(":HERKOMST"))
                {
                    data.Add("HERKOMST", cleanObject(line));
                }

                if (line.Contains(":X>"))
                {
                    data.Add("X", cleanObject(line));
                }

                if (line.Contains(":Y>"))
                {
                    data.Add("Y", cleanObject(line));
                }
            }

            // Build classes
            if (!cities.ContainsKey(Int32.Parse(data["NISCODE"])))
            {
                Gemeente temp = new Gemeente(Int32.Parse(data["NISCODE"]), data["GEMEENTE"]);
                cities.Add(Int32.Parse(data["NISCODE"]), temp);
            }

            if (!streets.ContainsKey(Int32.Parse(data["STRAATNMID"])))
            {
                Straatnaam temp = new Straatnaam(Int32.Parse(data["STRAATNMID"]), data["STRAATNM"], cities[Int32.Parse(data["NISCODE"])]);
                streets.Add(Int32.Parse(data["STRAATNMID"]), temp);
            }

            Adres adres = new Adres(Int32.Parse(data["ID"]), streets[Int32.Parse(data["STRAATNMID"])], data["APPTNR"], data["BUSNR"], data["HUISNR"], data["HNRLABEL"], cities[Int32.Parse(data["NISCODE"])], Int32.Parse(data["POSTCODE"]), Double.Parse(data["X"]), Double.Parse(data["Y"]));

            addCache.Add(Int32.Parse(data["ID"]), adres);
            // Add id to list
            addIds.Add(Int32.Parse(data["ID"]));

            List <int> tempCache = new List <int>(cacheDone);

            foreach (int key in tempCache)
            {
                addCache.Remove(key);
                cacheDone.Remove(key);
            }
        }