public RentalPayment UpdateRentalPayment(Guid rentalPaymentId, EditableRentalPayment editableRentalPayment) { var rentalPaymentCol = db.GetCollection <RentalPayment>("RentalPayments"); var foundRentalPayment = rentalPaymentCol.FindById(rentalPaymentId); if (foundRentalPayment == null) { return(null); } if (editableRentalPayment.RentalAgreementId.HasValue) { foundRentalPayment.RentalAgreementId = editableRentalPayment.RentalAgreementId.Value; } if (editableRentalPayment.DueDate.HasValue) { foundRentalPayment.DueDate = editableRentalPayment.DueDate.Value; } if (editableRentalPayment.IsPaid.HasValue) { foundRentalPayment.IsPaid = editableRentalPayment.IsPaid.Value; } if (editableRentalPayment.PaidDate.HasValue) { foundRentalPayment.PaidDate = editableRentalPayment.PaidDate.Value; } rentalPaymentCol.Update(foundRentalPayment); return(foundRentalPayment); }
// POST: api/RentalPayments public IHttpActionResult Post([FromBody] EditableRentalPayment value) { var rentalPaymentDao = new RentalPaymentDao(); var newRentalPayment = rentalPaymentDao.AddNewRentalPayment(value); return(Ok(newRentalPayment)); }
// PUT: api/RentalPayments/5 public IHttpActionResult Put(Guid id, [FromBody] EditableRentalPayment value) { var rentalPaymentDao = new RentalPaymentDao(); var updatedRentalPayment = rentalPaymentDao.UpdateRentalPayment(id, value); if (updatedRentalPayment == null) { return(NotFound()); } else { return(Ok(updatedRentalPayment)); } }
public RentalPayment AddNewRentalPayment(EditableRentalPayment editableRentalPayment) { if (!editableRentalPayment.RentalAgreementId.HasValue) { throw new ValidationException("Rental Agreement Id is required for new Rental Payments."); } var rentalPaymentCol = db.GetCollection <RentalPayment>("RentalPayments"); var newRentalPayment = new RentalPayment() { Id = Guid.NewGuid(), RentalAgreementId = editableRentalPayment.RentalAgreementId.Value, DueDate = editableRentalPayment.DueDate ?? DateTime.MinValue, PaidDate = editableRentalPayment.PaidDate ?? null, IsPaid = editableRentalPayment.IsPaid ?? false }; rentalPaymentCol.Insert(newRentalPayment); return(newRentalPayment); }