public IActionResult SavePayment(int paymentId, [FromBody] PaymentForUpdateDto paymentForUpdate)
        {
            if (!_repo.PaymentExists(paymentId))
            {
                if (!_repo.LeaseExists(paymentForUpdate.Lease.Id))
                {
                    return(NotFound());
                }
                else
                {
                    Payment payment = Mapper.Map <Payment>(paymentForUpdate);
                    _repo.AddPaymentToLease(paymentForUpdate.Lease.Id, payment);
                }
            }
            else
            {
                Payment paymentEntity = Mapper.Map <Payment>(paymentForUpdate);
                _repo.UpdatePayment(paymentEntity);
            }

            if (!_repo.Save())
            {
                return(StatusCode(500, "An error occurred while processing your request."));
            }

            IEnumerable <Payment> payments = _repo.GetPaymentsForLease(paymentForUpdate.Lease.Id);

            var paymentDtos = Mapper.Map <IEnumerable <PaymentDto> >(payments);

            return(Ok(paymentDtos));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> UpdatePayment(int id, PaymentForUpdateDto paymentForUpdateDto)
        {
            var paymentFromRepo = await _repo.GetPayment(id);

            _mapper.Map(paymentForUpdateDto, paymentFromRepo);

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            throw new Exception($"Updating payment {id} failed on save");
        }
Exemplo n.º 3
0
        public async Task <IActionResult> CreatePayment(int hotelId, PaymentForUpdateDto paymentForUpdateDto)
        {
            if (paymentForUpdateDto == null)
            {
                return(BadRequest());
            }

            var paymentEntity = _mapper.Map <Payment>(paymentForUpdateDto);

            paymentEntity.HotelId = hotelId;

            _repo.Add(paymentEntity);

            if (await _unitOfWork.CompleteAsync())
            {
                var paymentToReturn = _mapper.Map <PaymentForUpdateDto>(paymentEntity);
                return(CreatedAtRoute("GetPayment", new { id = paymentEntity.Id }, paymentToReturn));
            }

            throw new Exception("Creating the payment failed on save");
        }
Exemplo n.º 4
0
        public async Task <IActionResult> UpdatePayment(int id, PaymentForUpdateDto paymentForUpdateDto)
        {
            if (paymentForUpdateDto == null)
            {
                return(BadRequest());
            }

            var paymentFromRepo = await _repo.GetPayment(id);

            if (paymentFromRepo == null)
            {
                return(NotFound($"Could not find payment with an ID of {id}"));
            }

            _mapper.Map(paymentForUpdateDto, paymentFromRepo);

            if (await _unitOfWork.CompleteAsync())
            {
                return(NoContent());
            }

            throw new Exception($"Updating payment {id} failed on save");
        }