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);
        }
Exemplo n.º 2
0
        // POST: api/RentalPayments
        public IHttpActionResult Post([FromBody] EditableRentalPayment value)
        {
            var rentalPaymentDao = new RentalPaymentDao();
            var newRentalPayment = rentalPaymentDao.AddNewRentalPayment(value);

            return(Ok(newRentalPayment));
        }
Exemplo n.º 3
0
        // 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);
        }