public void HouseHoldCreateNotPassB()
        {
            //Arrange
            bool expected = false;
            //Act
            //Create a new testing user and then delete it
            Account testAccount = new Account("testerEmail", "testHashedPassword", "testSalt");

            DeleteUser(testAccount.UserEmail);
            DeleteMapping(testAccount.UserEmail);
            DeleteAccount(testAccount.UserEmail);

            CreateAccountDAOs     daos = new CreateAccountDAOs(newAccountDAO, newMappingDAO, newUserDAO, mapperDAO);
            ICreateAccountService cas  = new SqlCreateAccountService(testAccount, daos);
            HouseHoldManager      mr   = new HouseHoldManager();

            cas.Create();
            int sid = mapperDAO.GetSysID("testerEmail");

            User testUser = new User(sid, "testerEmail", "testerFname", "testerLname", "Enable", DateTime.Today, "Male");
            HouseholdCreationRequestDTO request = new HouseholdCreationRequestDTO
            {
                Requester     = "testerEmail",
                StreetAddress = "TestStreetAddress",
                City          = "TestCity",
                Zip           = 92868,
                SuiteNumber   = "TestSuiteNumber",
                Rent          = 1500.00
            };;
            IResult result = mr.CreateNewHouseHold(request);
            int     hID    = Int32.Parse(result.Message);

            result = mr.CreateNewHouseHold(request);
            Console.WriteLine(result.Message);
            DeleteUser(testAccount.UserEmail);
            DeleteMapping(testAccount.UserEmail);
            DeleteAccount(testAccount.UserEmail);
            mr.DeleteHouseHold(hID);
            bool actual = result.IsSuccess;

            //Assert
            Assert.AreEqual(expected, actual);
        }
Example #2
0
        public IHttpActionResult Create([FromBody] HouseholdCreationModel request)
        {
            HouseHoldManager            houseHoldManager = new HouseHoldManager();
            HouseholdCreationRequestDTO dto = new HouseholdCreationRequestDTO
            {
                Requester     = request.RequesterEmail,
                StreetAddress = request.StreetAddress,
                City          = request.City,
                Zip           = Int32.Parse(request.ZipCode),
                Rent          = request.Rent,
                SuiteNumber   = request.SuiteNumber
            };

            try
            {
                var results = houseHoldManager.CreateNewHouseHold(dto);
                return(Content(HttpStatusCode.OK, results.IsSuccess));
            }
            catch (Exception e)
            {
                return(Content(HttpStatusCode.InternalServerError, e.Message));
            }
        }
Example #3
0
        //Create a new HouseHold with an empty HouseHoldListing, if failed, return reasons that failed.
        // if successed return the new HouseHoldID
        public IResult CreateNewHouseHold(HouseholdCreationRequestDTO request)
        {
            String requester     = request.Requester;
            string streetAddress = request.StreetAddress;
            string city          = request.City;
            int    zip           = request.Zip;
            string suiteNumber   = request.SuiteNumber;
            double rent          = request.Rent;

            bool   ifValid = true;
            string message = "";

            ValidationService vs = new ValidationService();

            //Check input length for streetAddress
            IResult result = vs.LengthValidation(streetAddress, 200, 1);

            ifValid = IfUserExist(requester);

            if (ifValid)
            {
                if (!result.IsSuccess)
                {
                    ifValid  = false;
                    message += result.Message;
                }

                //Check input length for city
                result = vs.LengthValidation(city, 200, 1);
                if (!result.IsSuccess)
                {
                    ifValid  = false;
                    message += "\n" + result.Message;
                }

                //ZipCode for CA is from 90001 to 96162
                if (!vs.ZipValidation_CA(zip))
                {
                    ifValid  = false;
                    message += "\nInvalid ZipCode! This ZipCode does not exist in CA";
                }

                if (!vs.DecimalValidation(rent, 2))
                {
                    ifValid  = false;
                    message += "\nInvalid rent input! Should have no more than 2 decimal places";
                }
            }
            else
            {
                message += "\nThe User's ID doese not exist";
            }

            if (ifValid)
            {
                streetAddress = streetAddress + ", " + city + ", " + suiteNumber;
                //by defaut new household will be 'unavailable'
                HouseHold newHouseHold = new HouseHold(rent, streetAddress, zip, false);
                int       hId          = houseHoldService.CreateHouseHold(newHouseHold);

                if (hId > 0)
                {
                    message = hId.ToString();
                    IResult createEmptyHouseHoldListing = houseHoldService.CreateHouseHoldListing(hId);
                    ifValid = createEmptyHouseHoldListing.IsSuccess;
                    if (!ifValid)
                    {
                        message = createEmptyHouseHoldListing.Message;
                    }
                }
                else
                {
                    ifValid  = false;
                    message += "\nFailed to create new HouseHold! HouseHold Already exist";
                }
            }

            return(new CheckResult(message, ifValid));
        }