public List <Udbyder> getUdbyderList() { List <Udbyder> udbyder = new List <Udbyder>(); string sql = @"Select u.FNavn uFNavn, u.Pris uPris, u.HId uHId, f.Adresse fAdresse, p.Navn pNavn, p.Postnr pPostnr, f.Telefon fTelefon, b.Mail bMail, f.FirmaId fFirmaId, h.Areal hAreal, h.Etager hEtager, h.Navn hNavn FROM Udbyder u JOIN Filial f on u.FNavn = f.Navn JOIN PostDistrikt p ON f.Postnr = p.Postnr JOIN ByggeFirma b ON f.FirmaId = b.Id JOIN HusType h ON u.HId = h.Id"; myCommand = new SqlCommand(sql, myConnection); try { myConnection.Open(); myReader = myCommand.ExecuteReader(); while (myReader.Read()) { HusType h = new HusType(Convert.ToInt32(myReader["uHId"]), Convert.ToInt32(myReader["hEtager"]), Convert.ToInt32(myReader["hAreal"]), myReader["hNavn"].ToString()); Postnr p = new Postnr(Convert.ToInt32(myReader["pPostnr"]), myReader["pNavn"].ToString()); Filial f = new Filial(myReader["uFNavn"].ToString(), myReader["fAdresse"].ToString(), p, myReader["fTelefon"].ToString(), myReader["bMail"].ToString(), Convert.ToInt32(myReader["fFirmaId"])); bool filialExists = false; // checks if the filial allready exist, if it does it adds the hustype to the list foreach (Udbyder u in udbyder) { if (u.Filial.getNavn() == f.getNavn()) { u.addHusTypeToUdbyder(h); filialExists = true; break; } } // if the filial doesn't exist a new udbyder will be created if (filialExists == false) { List <HusType> hustyper = new List <HusType>(); hustyper.Add(h); Udbyder u = new Udbyder(f, hustyper, Convert.ToDouble(myReader["uPris"])); udbyder.Add(u); } } } catch (Exception e) { throw e; } finally { myConnection.Close(); } return(udbyder); }