예제 #1
0
        //public void TestGML()
        //{
        //    List<string> collectie = new List<string>();
        //    string line;
        //    using (StreamReader r = new StreamReader(@"C:\Users\davy\Documents\data\CRAB_Adressenlijst_GML\GML\CrabAdr.gml"))
        //    {
        //        // Adres in 1 collectie steken en dan verder sturen voor verwerking.
        //        int i = 0;
        //        int testi = 0;
        //        while ((line = r.ReadLine()) != null)
        //        {
        //            if (line.Contains("<agiv:CrabAdr>"))
        //                i++;
        //            if (i == 1)
        //                collectie.Add(line);
        //            if (line.Contains("</agiv:CrabAdr>"))
        //            {
        //                i--;
        //                if (collectie.Count == 21)
        //                    Console.WriteLine();
        //                Console.WriteLine(collectie[5]);
        //                collectie.Clear();
        //                testi++;
        //            }
        //            if (testi == 3000)
        //                Console.ReadLine();
        //        }
        //    }
        //}
        public void MaakAdres(List <string> collectie)
        {
            // gemeente aanmaken en in dictionary steken indien nodig.
            int NISCode = int.Parse(Isoleer(collectie[8]));

            if (!_gemeentes.ContainsKey(NISCode))
            {
                Gemeente gmt = new Gemeente(NISCode, Isoleer(collectie[9]));
                VoegGemeenteToe(gmt);
                _gemeentes.Add(NISCode, gmt);
            }

            // straatnaam aanmaken en in dictionary steken indien nodig.
            int straatnaamId = int.Parse(Isoleer(collectie[2]));

            if (!_straatnamen.ContainsKey(straatnaamId))
            {
                Straatnaam strn = new Straatnaam(straatnaamId, Isoleer(collectie[3]), _gemeentes[NISCode]);
                VoegStraatnaamToe(strn);
                _straatnamen.Add(straatnaamId, strn);
            }

            // adreslocatie en adres aanmaken. aangezien deze altijd uniek zijn worden ze niet in een dictionary gestopt.
            double       x    = double.Parse(Isoleer(collectie[15]));
            double       y    = double.Parse(Isoleer(collectie[16]));
            AdresLocatie adrl = new AdresLocatie(x, y);

            int   adresId = int.Parse(Isoleer(collectie[1]));
            Adres adres   = new Adres(adresId, _straatnamen[straatnaamId], Isoleer(collectie[5]), Isoleer(collectie[6]), Isoleer(collectie[4]), Isoleer(collectie[7]), adrl);

            VoegAdresToe(adres);
        }
예제 #2
0
        public Adres GetAdres(int Id)
        {
            SqlConnection connection = GetConnection();
            string        query      = "SELECT a.Id, a.straatnaamid, huisnummer, a.appartementnummer, a.busnummer, a.huisnummer, a.huisnummerlabel, s.straatnaam, s.niscode, " +
                                       "g.gemeentenaam FROM adres a JOIN straatnaam s ON a.straatnaamid = s.Id JOIN gemeente g ON s.niscode = g.niscode WHERE a.Id=@Id";

            using (SqlCommand command = connection.CreateCommand())
            {
                command.CommandText = query;
                command.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int));
                command.Parameters["@Id"].Value = Id;
                connection.Open();
                try
                {
                    IDataReader reader = command.ExecuteReader(); //of SqlDataReader
                    reader.Read();
                    Gemeente   gmt  = new Gemeente((int)reader["niscode"], (string)reader["gemeentenaam"]);
                    Straatnaam strn = new Straatnaam((int)reader["straatnaamid"], (string)reader["straatnaam"], gmt);

                    string appartementnummer = (object)reader["appartementnummer"] == DBNull.Value ? "null" : (string)reader["appartementnummer"];
                    string busnummer         = (object)reader["busnummer"] == DBNull.Value ? "null" : (string)reader["busnummer"];
                    string huisnummerLabel   = (object)reader["huisnummerlabel"] == DBNull.Value ? "null" : (string)reader["huisnummerlabel"];

                    AdresLocatie adrl  = new AdresLocatie(0, 0);
                    Adres        adres = new Adres((int)reader["Id"], strn, appartementnummer, busnummer, (string)reader["huisnummer"], huisnummerLabel, adrl);

                    reader.Close();
                    return(adres);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(null);
                }
                finally
                {
                    connection.Close();
                }
            }
        }
예제 #3
0
 public Adres(int iD, Straatnaam straatnaam, string appartementnummer, string busnummer, string huisnummer, string huisnummerLabel, AdresLocatie locatie)
 {
     ID                = iD;
     Straatnaam        = straatnaam;
     Appartementnummer = appartementnummer;
     Busnummer         = busnummer;
     Huisnummer        = huisnummer;
     HuisnummerLabel   = huisnummerLabel;
     this.Locatie      = locatie;
 }