public ActionResult Terms(PropertyTermsInputModel input) { if (ModelState.IsValid) { var status = this.propertyAdapter.UpdatePropertyTerms(User.Identity.Name, input.ToBuilding()); if (status.StatusCode == 200) { return(RedirectToAction("promote", new { id = input.BuildingId })); } HandleErrors(status); } var buildingVal = this.propertyAdapter.GetProperty(input.BuildingId, User.Identity.Name); if (buildingVal.StatusCode != 200) { return(this.NotFoundException()); } // return the model back with model state errors PropertyTermsModel model = new PropertyTermsModel() { Input = input, StepsAvailable = GetStepsAvailable(buildingVal.Result) }; return(View(model)); }
public ActionResult Terms(PropertyTermsInputModel input) { if (ModelState.IsValid) { // rebuild building Building building = new Building() { BuildingId = input.BuildingId, IsBackgroundCheckRequired = input.IsBackgroundCheckRequired, IsCreditCheckRequired = input.IsCreditCheckRequired, Price = input.Price, Deposit = (input.Deposit.HasValue) ? input.Deposit.Value : decimal.Zero, RefundableDeposit = (input.RefundableDeposit.HasValue) ? input.RefundableDeposit.Value : decimal.Zero, DateAvailableUtc = input.DateAvailableUtc, LeaseLengthCode = input.LeaseLengthCode, IsSmokingAllowed = input.IsSmokingAllowed, ArePetsAllowed = input.ArePetsAllowed }; // pets are not allowed so no fee can be charged if (!input.ArePetsAllowed) { building.PetFee = decimal.Zero; } else { building.PetFee = (input.PetFee.HasValue) ? input.PetFee.Value : decimal.Zero; } var status = this.propertyAdapter.UpdatePropertyTerms(User.Identity.Name, building); if (status.StatusCode == 200) { return(RedirectToAction("promote", new { id = input.BuildingId })); } HandleErrors(status); } var buildingVal = this.propertyAdapter.GetProperty(input.BuildingId, User.Identity.Name); if (buildingVal.StatusCode != 200) { return(HttpNotFound()); } // return the model back with model state errors PropertyTermsModel model = new PropertyTermsModel() { Input = input, StepsAvailable = GetStepsAvailable(buildingVal.Result) }; return(View(model)); }