public RentalAgreement UpdateRentalAgreement(Guid rentalAgreementId, EditableRentalAgreement editableRentalAgreement) { var rentalAgreementCol = db.GetCollection <RentalAgreement>("RentalAgreements"); var foundRentalAgreement = rentalAgreementCol.FindById(rentalAgreementId); if (foundRentalAgreement == null) { return(null); } if (editableRentalAgreement.MonthlyRate.HasValue) { foundRentalAgreement.MonthlyRate = editableRentalAgreement.MonthlyRate.Value; } if (editableRentalAgreement.PropertyId.HasValue) { foundRentalAgreement.PropertyId = editableRentalAgreement.PropertyId.Value; } rentalAgreementCol.Update(foundRentalAgreement); return(foundRentalAgreement); }
// PUT: api/RentalAgreements/5 public IHttpActionResult Put(Guid id, [FromBody] EditableRentalAgreement updatedRentalAgreement) { var rentalAgreementDao = new RentalAgreementDao(); var foundRentalAgreement = rentalAgreementDao.UpdateRentalAgreement(id, updatedRentalAgreement); if (foundRentalAgreement == null) { return(NotFound()); } else { return(Ok(foundRentalAgreement)); } }
public RentalAgreement AddNewRentalAgreement(EditableRentalAgreement editableRentalAgreement) { if (!editableRentalAgreement.OwnerId.HasValue || !editableRentalAgreement.RenterId.HasValue || !editableRentalAgreement.MonthlyRate.HasValue || !editableRentalAgreement.PropertyId.HasValue) { throw new ValidationException("Rental Agreement requires a Renter Id, Owner Id, and a Monthly Rate"); } var rentalAgreementCol = db.GetCollection <RentalAgreement>("RentalAgreements"); var newRentalAgreement = new RentalAgreement() { Id = Guid.NewGuid(), OwnerId = editableRentalAgreement.OwnerId.Value, RenterId = editableRentalAgreement.RenterId.Value, PropertyId = editableRentalAgreement.PropertyId.Value, MonthlyRate = editableRentalAgreement.MonthlyRate.Value }; rentalAgreementCol.Insert(newRentalAgreement); return(newRentalAgreement); }
// POST: api/RentalAgreements public IHttpActionResult Post([FromBody] EditableRentalAgreement inputRentalAgreement) { var rentalAgreementDao = new RentalAgreementDao(); return(Ok(rentalAgreementDao.AddNewRentalAgreement(inputRentalAgreement))); }