Exemplo n.º 1
0
 public string AddFlat(MdlFlat mdlFlatObj)
 {
     using (SqlConnection conn = new SqlConnection(DbConnection.connectionString))
     {
         conn.Open();
         return(GetOutput(conn, mdlFlatObj));
     }
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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();
                    }
                }
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        //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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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();
                    }
                }
            }
        }
Exemplo n.º 14
0
        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);
        }