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)); }
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"); }
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"); }
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"); }