public string AddFlat(MdlFlat mdlFlatObj) { using (SqlConnection conn = new SqlConnection(DbConnection.connectionString)) { conn.Open(); return(GetOutput(conn, mdlFlatObj)); } }
public string AddFlat(string landLordEmail, string type, string address, string postCode, string city, double rent, double deposit, string availableFrom, string description) { DbFlat dbFlatObj = new DbFlat(); MdlFlat mdlFlatObj = CreateFlatObj(landLordEmail, type, address, postCode, city, rent, deposit, availableFrom, description); return(dbFlatObj.AddFlat(mdlFlatObj)); }
public void AddFlat() { CtrLandlord ctrLandlordObj = new CtrLandlord(); MdlFlat mdlFlatObj = GenerateFlatObj(); string expected = "Successfully added."; string actual; actual = ctrLandlordObj.AddFlat(mdlFlatObj.LandlordEmail, mdlFlatObj.Type, mdlFlatObj.Address, mdlFlatObj.PostCode, mdlFlatObj.City, mdlFlatObj.Rent, mdlFlatObj.Deposit, mdlFlatObj.AvailableFrom, mdlFlatObj.Description).Trim(); Assert.AreEqual(expected, actual); }
public bool UpdateFlatStatus(int fId, string status, string dateOfOffer, string availableFrom) { DbFlat dbFlatObj = new DbFlat(); MdlFlat mdlFlatObj = new MdlFlat(); mdlFlatObj.Id = fId; mdlFlatObj.Status = status; mdlFlatObj.DateOfOffer = dateOfOffer; mdlFlatObj.AvailableFrom = availableFrom; return(dbFlatObj.UpdateFlatsStatus(mdlFlatObj)); }
public bool UpdateFlat(int flatId, double rent, double deposit, string description) { DbFlat dbFlatObj = new DbFlat(); MdlFlat mdlFlatObj = new MdlFlat(); mdlFlatObj.Id = flatId; mdlFlatObj.Rent = rent; mdlFlatObj.Deposit = deposit; mdlFlatObj.Description = description; return(dbFlatObj.UpdateFlat(mdlFlatObj)); }
public void AddFlatStudentEmail() { CtrLandlord ctrLandlordObj = new CtrLandlord(); MdlFlat mdlFlatObj = GenerateFlatObj(); mdlFlatObj.LandlordEmail = "*****@*****.**"; string expected = "Unable to add flat due to nonexisting landlord email."; string actual; actual = ctrLandlordObj.AddFlat(mdlFlatObj.LandlordEmail, mdlFlatObj.Type, mdlFlatObj.Address, mdlFlatObj.PostCode, mdlFlatObj.City, mdlFlatObj.Rent, mdlFlatObj.Deposit, mdlFlatObj.AvailableFrom, mdlFlatObj.Description).Trim(); Assert.AreEqual(expected, actual); }
private string GetOutput(SqlConnection conn, MdlFlat mdlFlatObj) { var option = new TransactionOptions(); option.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; option.Timeout = TimeSpan.FromSeconds(3); using (var scope = new TransactionScope(TransactionScopeOption.Required, option)) { try { SqlCommand cmd = new SqlCommand("spInsertNewFlat", conn); //set command type cmd.CommandType = CommandType.StoredProcedure; //input parameters cmd.Parameters.AddWithValue("@LandlordEmail", mdlFlatObj.LandlordEmail.ToString()); cmd.Parameters.AddWithValue("@Type", mdlFlatObj.Type.ToString()); cmd.Parameters.AddWithValue("@Address", mdlFlatObj.Address.ToString()); cmd.Parameters.AddWithValue("@PostCode", mdlFlatObj.PostCode.ToString()); cmd.Parameters.AddWithValue("@City", mdlFlatObj.City.ToString()); cmd.Parameters.AddWithValue("@Rent", mdlFlatObj.Rent); cmd.Parameters.AddWithValue("@Deposit", mdlFlatObj.Deposit); cmd.Parameters.AddWithValue("@AvailableFrom", mdlFlatObj.AvailableFrom); cmd.Parameters.AddWithValue("@Description", mdlFlatObj.Description.ToString()); //output parameters SqlParameter outputParameter = new SqlParameter(); outputParameter.ParameterName = "@MessageOutput"; outputParameter.SqlDbType = SqlDbType.Char; outputParameter.Direction = ParameterDirection.Output; outputParameter.Size = 100; cmd.Parameters.Add(outputParameter); //execute cmd.ExecuteNonQuery(); scope.Complete(); return(outputParameter.Value.ToString()); } catch (Exception e) { Transaction.Current.Rollback(); Console.WriteLine("An Error has accured. Unable to Add new Flat. Err:" + e); return("An Error has accured. Unable to Add new Flat."); } finally { if (scope != null) { ((IDisposable)scope).Dispose(); } } } }
public void UpdateFlatsAttributesWithNullValues() { CtrFlat ctrFlatObj = new CtrFlat(); MdlFlat mdlFlatObj = GenerateFlatObj(); mdlFlatObj.Id = GetFlatId(mdlFlatObj); mdlFlatObj.Rent = 0; mdlFlatObj.Deposit = 0; mdlFlatObj.Description = ""; bool actual = ctrFlatObj.UpdateFlat(mdlFlatObj.Id, mdlFlatObj.Rent, mdlFlatObj.Deposit, mdlFlatObj.Description); bool expected = true; Assert.AreEqual(expected, actual); }
//simulate Student pressing accept offer public void UpdateFlatsStatusAcceptOffer() { CtrFlat ctrFlatObj = new CtrFlat(); MdlFlat mdlFlatObj = GenerateFlatObj(); mdlFlatObj.Id = GetFlatId(mdlFlatObj); mdlFlatObj.Status = "Closed"; mdlFlatObj.DateOfOffer = "None"; mdlFlatObj.AvailableFrom = "Not available"; bool actual = ctrFlatObj.UpdateFlatStatus(mdlFlatObj.Id, mdlFlatObj.Status, mdlFlatObj.DateOfOffer, mdlFlatObj.AvailableFrom); bool expected = true; Assert.AreEqual(expected, actual); }
public int GetFlatId(MdlFlat mdlFlatObj) { using (SqlConnection conn = new SqlConnection(DbConnection.connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand("select Id from flats where LandlordEmail = '" + mdlFlatObj.LandlordEmail + "'", conn); using (SqlDataReader sr = cmd.ExecuteReader()) { while (sr.Read()) { return(Convert.ToInt32(sr.GetValue(0))); } } } return(0); }
private MdlFlat CreateFlatObj(string landLordEmail, string type, string address, string postCode, string city, double rent, double deposit, string availableFrom, string description) { MdlFlat mdlFlatObj = new MdlFlat(); mdlFlatObj.LandlordEmail = landLordEmail; mdlFlatObj.Type = type; mdlFlatObj.Address = address; mdlFlatObj.PostCode = postCode; mdlFlatObj.City = city; mdlFlatObj.Rent = rent; mdlFlatObj.Deposit = deposit; mdlFlatObj.AvailableFrom = availableFrom; mdlFlatObj.Description = description; return(mdlFlatObj); }
public MdlFlat GenerateFlatObj() { MdlFlat mdlFlatObj = new MdlFlat(); mdlFlatObj.LandlordEmail = "*****@*****.**"; mdlFlatObj.Type = "type"; mdlFlatObj.Address = "address"; mdlFlatObj.PostCode = "postCode"; mdlFlatObj.City = "city"; mdlFlatObj.Rent = 100; mdlFlatObj.Deposit = 100; mdlFlatObj.AvailableFrom = DateTime.Now.AddDays(50).ToString(); mdlFlatObj.Description = "description"; mdlFlatObj.Status = "Closed"; mdlFlatObj.DateOfOffer = "None"; return(mdlFlatObj); }
public bool UpdateFlat(MdlFlat mdlFlatObj) { var option = new TransactionOptions(); option.IsolationLevel = System.Transactions.IsolationLevel.Serializable; option.Timeout = TimeSpan.FromSeconds(3); using (var scope = new TransactionScope(TransactionScopeOption.Required, option)) { try { using (SqlConnection conn = new SqlConnection(DbConnection.connectionString)) { SqlCommand cmd = new SqlCommand("spUpdateFlatAttributes", conn); //set command type cmd.CommandType = CommandType.StoredProcedure; //input parameters cmd.Parameters.AddWithValue("@FlatId", mdlFlatObj.Id); cmd.Parameters.AddWithValue("@Rent", mdlFlatObj.Rent); cmd.Parameters.AddWithValue("@Deposit", mdlFlatObj.Deposit); cmd.Parameters.AddWithValue("@Description", mdlFlatObj.Description); //execute conn.Open(); cmd.ExecuteNonQuery(); scope.Complete(); return(true); } } catch (Exception e) { Transaction.Current.Rollback(); Console.WriteLine("Error. Exception: " + e); return(false); } finally { if (scope != null) { ((IDisposable)scope).Dispose(); } } } }
public void ConfirmTenants() { CtrConfirmed ctrConfirmedObj = new CtrConfirmed(); FlatTestes flatTestsObj = new FlatTestes(); CtrFlat ctrFlatObj = new CtrFlat(); MdlFlat mdlFlatObj = flatTestsObj.GenerateFlatObj(); mdlFlatObj.Id = flatTestsObj.GetFlatId(mdlFlatObj); mdlFlatObj.DateOfOffer = "None"; CtrLandlord ctrLandlordObj = new CtrLandlord(); string output = ctrLandlordObj.AddFlat(mdlFlatObj.LandlordEmail, mdlFlatObj.Type, mdlFlatObj.Address, mdlFlatObj.PostCode, mdlFlatObj.City, mdlFlatObj.Rent, mdlFlatObj.Deposit, mdlFlatObj.AvailableFrom, mdlFlatObj.Description).Trim(); bool expected = true; bool actual = ctrConfirmedObj.ConfirmTenants(mdlFlatObj.Id, "*****@*****.**"); Assert.AreEqual(expected, actual); }