//method to delete a Bolig from DB
        private void btn_SletBolig_Click(object sender, EventArgs e)
        {
            //initializes BoligBLL and BoligDAL
            bolig = new BoligBLL(BoligID());

            try
            {
                if (BoligBLL.BoligExists(BoligID()))
                {
                    //delete a Bolig from DB
                    bolig.SletBolig(bolig);
                }
                else
                {
                    MessageBox.Show("Der findes ikke nogen bolig i database med dette ID. Prøv venligst med en anden ID.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //load DataGridView
            BoligUI_Load(sender, e);

            //clear all TextBoxes
            ClearAll();

            //disable all TextBoxes
            DisableAll();

            //enable BoligID TextBox
            boligID_txt.Enabled = true;
        }
        //method to confirm the changes in a Bolig (UPDATE)
        private void saveChanges_btn_Click(object sender, EventArgs e)
        {
            //initializes BoligBLL and BoligDAL
            bolig = new BoligBLL(BoligID(), BoligVej(), BoligPostnr(), BoligType(), BoligVærelser(), BoligEtager(), BoligKvm(), BoligUdbudspris(), BoligHave(), BoligBygningsÅr(), BoligRenoveringsÅr());

            try
            {
                if (BoligBLL.BoligExists(BoligID()))
                {
                    //updates a Bolig record
                    bolig.OpdaterBolig(bolig);

                    //disable all TextBoxes
                    DisableAll();

                    //henter en bolig
                    btn_HentBolig_Click(sender, e);
                }
                else
                {
                    MessageBox.Show("Der findes ikke nogen bolig i database med dette ID. Prøv venligst med en anden ID.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //load DataGridView
            BoligUI_Load(sender, e);
        }
Ejemplo n.º 3
0
        public void TestCalculateUdbudspris()
        {
            //Arrange
            BoligBLL bolig = new BoligBLL(1, "Bethaniavej 2", 7300, "Lejlighed", 3, 1, 45, false, new DateTime(1955, 1, 1), new DateTime(2017, 1, 1));

            int expected = 382100;

            //Act
            int actual = bolig.CalculateUdbudsPris();

            //Assert
            Assert.AreEqual(expected, actual, 0.001, "Price not calculated correctly");
        }
Ejemplo n.º 4
0
        //method to create a new BoligBLL
        public void OpretBolig(BoligBLL bolig)
        {
            //SQL QUERY
            string sqlCommandBolig = "INSERT INTO Bolig VALUES (@Vej, @Postnummer, @Type, @Værelser, @Etager, @Kvadratmeter, @Udbudspris, @HaveFlag, @Bygningsår, @RenoveringsÅr)";

            //SQL COMMAND + PARAMETERS
            SqlCommand cmdBolig = new SqlCommand(sqlCommandBolig, conn);

            cmdBolig.Parameters.AddWithValue("@Vej", bolig.Vej);
            cmdBolig.Parameters.AddWithValue("@Postnummer", bolig.Postnummer);
            cmdBolig.Parameters.AddWithValue("@Type", bolig.Type);
            cmdBolig.Parameters.AddWithValue("@Værelser", bolig.Værelser);
            cmdBolig.Parameters.AddWithValue("@Etager", bolig.Etager);
            cmdBolig.Parameters.AddWithValue("@Kvadratmeter", bolig.Kvadratmeter);
            cmdBolig.Parameters.AddWithValue("@Udbudspris", bolig.CalculateUdbudsPris());;
            cmdBolig.Parameters.AddWithValue("@HaveFlag", bolig.Have);
            cmdBolig.Parameters.AddWithValue("@Bygningsår", bolig.Bygningsår);
            cmdBolig.Parameters.AddWithValue("@RenoveringsÅr", bolig.RenoveringsÅr);

            try
            {
                //OPEN CONNECTION
                if (conn.State == System.Data.ConnectionState.Closed)
                {
                    conn.Open();
                }

                //BEGIN TRANSACTION
                Transactions.BeginRepeatableReadTransaction(conn);

                //EXECUTE QUERY
                cmdBolig.ExecuteNonQuery();

                //COMMIT OR ROLLBACK
                if (!Transactions.Commit(conn))
                {
                    Transactions.Rollback(conn);
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }

            //CLOSE CONNECTION
            if (conn.State == System.Data.ConnectionState.Open)
            {
                conn.Close();
            }
        }
Ejemplo n.º 5
0
        public void SletBolig(BoligBLL bolig)
        {
            //SQL QUERY
            string sqlCommandBolig = "DELETE FROM Bolig WHERE BoligID = @BoligID";

            //SQL COMMAND + PARAMETERS
            SqlCommand cmdBolig = new SqlCommand(sqlCommandBolig, conn);

            cmdBolig.Parameters.AddWithValue("@BoligID", bolig.BoligID);

            try
            {
                //OPEN CONNECTION
                if (conn.State == System.Data.ConnectionState.Closed)
                {
                    conn.Open();
                }

                //BEGIN TRANSACTION
                Transactions.BeginRepeatableReadTransaction(conn);

                //EXECUTE QUERY
                cmdBolig.ExecuteNonQuery();

                //COMMIT OR ROLLBACK
                if (!Transactions.Commit(conn))
                {
                    Transactions.Rollback(conn);
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }

            //CLOSE CONNECTION
            if (conn.State == System.Data.ConnectionState.Open)
            {
                conn.Close();
            }
        }
        //method to retrieve a Bolig from DB and show its attributes on TextBoxes
        private void btn_HentBolig_Click(object sender, EventArgs e)
        {
            //initializes BoligBLL and BoligDAL
            bolig = new BoligBLL(BoligID());

            try
            {
                if (BoligBLL.BoligExists(BoligID()))
                {
                    //retrieve a BoligBLL from DB using BoligID
                    BoligBLL matchingbolig = BoligBLL.HentBoligViaID(bolig);

                    if (matchingbolig != null)
                    {
                        //shows retrieved Bolig from DB on TextBoxes
                        boligVej_txt.Text            = matchingbolig.Vej.ToString();
                        boligPostnr_txt.Text         = matchingbolig.Postnummer.ToString();
                        boligType_cbox.Text          = matchingbolig.Type.ToString();
                        boligVærelser_tbar.Value     = matchingbolig.Værelser;
                        boligEtager_tbar.Value       = matchingbolig.Etager;
                        boligKvm_txt.Text            = matchingbolig.Kvadratmeter.ToString();
                        boligHave_ckBox.Checked      = matchingbolig.Have;
                        boligBygningsÅr_dtp.Value    = matchingbolig.Bygningsår;
                        boligRenoveringsÅr_dtp.Value = matchingbolig.RenoveringsÅr;
                        boligUdbudspris_txt.Text     = matchingbolig.Udbudspris.ToString();
                    }
                }
                else
                {
                    MessageBox.Show("Der findes ikke nogen bolig i database med dette ID. Prøv venligst med en anden ID.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //disable BoligID TextBox
            boligID_txt.Enabled = false;
        }
        //method to create a new Bolig
        private void btn_OpretBolig_Click(object sender, EventArgs e)
        {
            //initializes BoligBLL and BoligDAL
            bolig = new BoligBLL(BoligID(), BoligVej(), BoligPostnr(), BoligType(), BoligVærelser(), BoligEtager(), BoligKvm(), BoligHave(), BoligBygningsÅr(), BoligRenoveringsÅr());

            try
            {
                if (!string.IsNullOrEmpty(boligPostnr_txt.Text))
                {
                    //creates a new BoligBLL in DB
                    bolig.OpretBolig(bolig);

                    DisableAll();

                    //retrieves Bolig ID from DB
                    BoligBLL matchingbolig = BoligBLL.HentBolig(bolig);

                    if (matchingbolig != null)
                    {
                        //shows BoligID in TextBox
                        boligID_txt.Text         = matchingbolig.BoligID.ToString();
                        boligUdbudspris_txt.Text = matchingbolig.Udbudspris.ToString();
                    }
                }
                else
                {
                    MessageBox.Show("Vi kan desværre ikke oprette en ny bolig.\n" +
                                    "Husk at postnummeret skal være gyldigt i DK.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //load DataGridView
            BoligUI_Load(sender, e);
        }
Ejemplo n.º 8
0
        public void OpdaterBolig(BoligBLL bolig)
        {
            //SQL QUERY
            string sqlCommandBolig = "UPDATE Bolig SET " +
                                     "Vej = IsNull(NullIf(@Vej, ''), Vej), " +
                                     "Postnummer = IsNull(NullIf(@Postnummer, ''), Postnummer), " +
                                     "Type = IsNull(NullIf(@Type, ''), Type), " +
                                     "Værelser = IsNull(NullIf(@Værelser, ''), Værelser), " +
                                     "Etager = IsNull(NullIf(@Etager, ''), Etager), " +
                                     "Kvadratmeter = IsNull(NullIf(@Kvadratmeter, ''), Kvadratmeter), " +
                                     "Udbudspris = IsNull(NullIf(@Udbudspris, ''), Udbudspris), " +
                                     "HaveFlag = IsNull(NullIf(@HaveFlag, ''), HaveFlag), " +
                                     "Bygningsår = IsNull(NullIf(@Bygningsår, ''), Bygningsår), " +
                                     "RenoveringsÅr = IsNull(NullIf(@RenoveringsÅr, ''), RenoveringsÅr) " +
                                     "WHERE BoligID = @BoligID";

            //SQL COMMAND + PARAMETERS
            SqlCommand cmdBolig = new SqlCommand(sqlCommandBolig, conn);

            cmdBolig.Parameters.AddWithValue("@Vej", bolig.Vej);
            cmdBolig.Parameters.AddWithValue("@Postnummer", bolig.Postnummer);
            cmdBolig.Parameters.AddWithValue("@Type", bolig.Type);
            cmdBolig.Parameters.AddWithValue("@Værelser", bolig.Værelser);
            cmdBolig.Parameters.AddWithValue("@Etager", bolig.Etager);
            cmdBolig.Parameters.AddWithValue("@Kvadratmeter", bolig.Kvadratmeter);
            cmdBolig.Parameters.AddWithValue("@Udbudspris", bolig.CalculateUdbudsPris());
            cmdBolig.Parameters.AddWithValue("@HaveFlag", bolig.Have);
            cmdBolig.Parameters.AddWithValue("@Bygningsår", bolig.Bygningsår);
            cmdBolig.Parameters.AddWithValue("@RenoveringsÅr", bolig.RenoveringsÅr);
            cmdBolig.Parameters.AddWithValue("@BoligID", bolig.BoligID);

            try
            {
                //OPEN CONNECTION
                if (conn.State == System.Data.ConnectionState.Closed)
                {
                    conn.Open();
                }

                //BEGIN TRANSACTION
                Transactions.BeginReadCommittedTransaction(conn);

                //EXECUTE QUERY
                cmdBolig.ExecuteNonQuery();

                //COMMIT OR ROLLBACK
                if (!Transactions.Commit(conn))
                {
                    Transactions.Rollback(conn);
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }

            //CLOSE CONNECTION
            if (conn.State == System.Data.ConnectionState.Open)
            {
                conn.Close();
            }
        }
Ejemplo n.º 9
0
        //method to retrieve a BoligBLL using either BoligID or a combination of all other attributes
        public static BoligBLL HentBolig(BoligBLL boligToFind)
        {
            //INITIALIZE BoligBLL matchingbolig
            BoligBLL matchingbolig = null;

            //SQL QUERY
            string sqlCommanBolig = "SELECT * FROM Bolig WHERE " +
                                    "BoligID LIKE @BoligID OR " +
                                    "Vej Like @Vej AND " +
                                    "Postnummer LIKE @Postnummer AND " +
                                    "Type LIKE @Type AND " +
                                    "Værelser LIKE @Værelser AND " +
                                    "Etager LIKE @Etager AND " +
                                    "Kvadratmeter LIKE @Kvadratmeter AND " +
                                    //"Udbudspris <= @Udbudspris AND " +
                                    "HaveFlag LIKE @HaveFlag AND " +
                                    "Bygningsår LIKE @Bygningsår AND " +
                                    "RenoveringsÅr LIKE @RenoveringsÅr ";

            //SQL COMMAND + PARAMETERS
            SqlCommand cmdBolig = new SqlCommand(sqlCommanBolig, conn);

            cmdBolig.Parameters.AddWithValue("@BoligID", boligToFind.BoligID);
            cmdBolig.Parameters.AddWithValue("@Vej", boligToFind.Vej);
            cmdBolig.Parameters.AddWithValue("@Postnummer", boligToFind.Postnummer);
            cmdBolig.Parameters.AddWithValue("@Type", boligToFind.Type);
            cmdBolig.Parameters.AddWithValue("@Værelser", boligToFind.Værelser);
            cmdBolig.Parameters.AddWithValue("@Etager", boligToFind.Etager);
            cmdBolig.Parameters.AddWithValue("@Kvadratmeter", boligToFind.Kvadratmeter);
            //cmdBolig.Parameters.AddWithValue("@Udbudspris", bolig.Udbudspris);
            cmdBolig.Parameters.AddWithValue("@HaveFlag", boligToFind.Have);
            cmdBolig.Parameters.AddWithValue("@Bygningsår", boligToFind.Bygningsår);
            cmdBolig.Parameters.AddWithValue("@RenoveringsÅr", boligToFind.RenoveringsÅr);

            try
            {
                //OPEN CONNECTION
                if (conn.State == System.Data.ConnectionState.Closed)
                {
                    conn.Open();
                }

                //BEGIN TRANSACTION
                Transactions.BeginReadCommittedTransaction(conn);

                //EXECUTE READER (QUERY)
                using (SqlDataReader reader = cmdBolig.ExecuteReader())
                {
                    //RETRIEVE BoligBLL AND SAVE IN matchingbolig
                    while (reader.Read())
                    {
                        matchingbolig = new BoligBLL((int)reader["BoligID"],
                                                     reader["Vej"].ToString(),
                                                     (int)reader["Postnummer"],
                                                     reader["Type"].ToString(),
                                                     (int)reader["Værelser"],
                                                     (int)reader["Etager"],
                                                     (int)reader["Kvadratmeter"],
                                                     (int)reader["Udbudspris"],
                                                     (bool)reader["HaveFlag"],
                                                     (DateTime)reader["Bygningsår"],
                                                     (DateTime)reader["RenoveringsÅr"]);
                    }

                    //CLOSE READER
                    if (reader != null)
                    {
                        reader.Close();
                    }
                }

                //COMMIT OR ROLLBACK
                if (!Transactions.Commit(conn))
                {
                    Transactions.Rollback(conn);
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }

            //CLOSE CONNECTION
            if (conn.State == System.Data.ConnectionState.Open)
            {
                conn.Close();
            }

            //RETURN
            return(matchingbolig);
        }