Ejemplo n.º 1
0
        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);
        }