public List <Adres> getAdressenStraat(int straatnaamId) { List <Adres> adressen = new List <Adres>(); DbConnection connection = getConnection(); string query = "SELECT dbo.adresSql.*, dbo.straatnaamSQL.straatnaam, dbo.straatnaamSQL.NIScode, dbo.gemeenteSQL.gemeentenaam, dbo.adreslocatieSQL.x,dbo.adreslocatieSQL.y " + "FROM adresSql " + "JOIN dbo.straatnaamSQL " + "ON dbo.adresSQL.straatnaamID = dbo.straatnaamSQL.ID " + "JOIN dbo.gemeenteSQL " + "ON dbo.straatnaamSQL.NIScode = dbo.gemeenteSQL.NIScode " + "JOIN dbo.adreslocatieSQL " + "ON dbo.adresSQL.adreslocatieID = dbo.adreslocatieSQL.Id " + "WHERE dbo.straatnaamSQL.ID = @straatnaamId; "; using (DbCommand command = connection.CreateCommand()) { command.CommandText = query; DbParameter paramID = sqlFactory.CreateParameter(); paramID.ParameterName = "@straatnaamId"; paramID.DbType = DbType.Int32; paramID.Value = straatnaamId; command.Parameters.Add(paramID); connection.Open(); try { DbDataReader reader = command.ExecuteReader(); while (reader.Read()) { Gemeente gemeente = new Gemeente((int)reader["NIScode"], (string)reader["gemeentenaam"]); Straatnaam straatnaam = new Straatnaam((int)reader["straatnaamID"], (string)reader["straatnaam"], gemeente); Adres adres = new Adres((int)reader["ID"], straatnaam, (string)reader["appartementnummer"], (string)reader["busnummer"], (string)reader["huisnummer"], (string)reader["huisnummerlabel"], (int)reader["adreslocatieID"], (double)reader["x"], (double)reader["y"] ); adressen.Add(adres); } reader.Close(); return(adressen); } catch (Exception ex) { Console.WriteLine(ex); return(null); } finally { connection.Close(); } } }
public List <Straatnaam> getStraatnamen(string gemeentenaam) { List <Straatnaam> straatnamen = new List <Straatnaam>(); DbConnection connection = getConnection(); string query = "select dbo.straatnaamSQL.* " + "from dbo.straatnaamSQL " + "inner join dbo.gemeenteSQL " + "on dbo.straatnaamSQL.NIScode = dbo.gemeenteSQL.NIScode " + "where dbo.gemeenteSQL.gemeentenaam = @gemeentenaam " + "order by dbo.straatnaamSQL.straatnaam ASC;"; using (DbCommand command = connection.CreateCommand()) { command.CommandText = query; DbParameter paramID = sqlFactory.CreateParameter(); paramID.ParameterName = "@gemeentenaam"; paramID.DbType = DbType.AnsiString; paramID.Value = gemeentenaam; command.Parameters.Add(paramID); connection.Open(); try { DbDataReader reader = command.ExecuteReader(); while (reader.Read()) { Gemeente gemeente = new Gemeente((int)reader["NIScode"], gemeentenaam); Straatnaam straatnaam = new Straatnaam((int)reader["ID"], (string)reader["straatnaam"], gemeente); straatnamen.Add(straatnaam); } reader.Close(); return(straatnamen); } catch (Exception ex) { Console.WriteLine(ex); return(null); } finally { connection.Close(); } } }
private static List <Adres> GMLParser() { //loading from file, also able to load from stream XDocument doc = XDocument.Load(@"C:\Users\Biebem\Downloads\test.gml"); XNamespace gml = "http://www.opengis.net/gml"; XNamespace agiv = "http://www.agiv.be/agiv"; //Query data var query = doc.Descendants(agiv + "CrabAdr") .Select(e => new { id = (int)e.Element(agiv + "ID"), //adresID straatnaamid = (int)e.Element(agiv + "STRAATNMID"), straatnaam = (string)e.Element(agiv + "STRAATNM"), huisnummer = (string)e.Element(agiv + "HUISNR"), appartementnummer = (string)e.Element(agiv + "APPTNR"), busnummer = (string)e.Element(agiv + "BUSNR"), huisnummerlabel = (string)e.Element(agiv + "HNRLABEL"), NIScode = (int)e.Element(agiv + "NISCODE"), gemeente = (string)e.Element(agiv + "GEMEENTE"), postcode = (int)e.Element(agiv + "POSTCODE"), herkomst = (string)e.Element(agiv + "HERKOMST"), //wordt wss niet gebruikt. coord = e.Descendants(gml + "coord").Select(f => new { x = (double)f.Element(gml + "X"), y = (double)f.Element(gml + "Y") }) }); //aanmaken objecten List <Adres> adressen = new List <Adres>(); double[] coord = new double[2]; foreach (var e in query) { double x = e.coord.ElementAt(0).x; double y = e.coord.ElementAt(0).y; Gemeente gemeente = new Gemeente(e.NIScode, e.gemeente); Straatnaam straatnaam = new Straatnaam(e.straatnaamid, e.straatnaam, gemeente); Adres adres = new Adres(e.id, straatnaam, e.appartementnummer, e.busnummer, e.huisnummer, e.huisnummerlabel, -1, x, y); adressen.Add(adres); } return(adressen); }