//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); }
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"); }
//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(); } }
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); }
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(); } }
//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); }