public async Task <bool> UpdateCreditPaymentAsync(UpdateCreditPaymentRequest request, int creditPaymentId) { var paymentDto = new UpdateCreditPaymentDto { Id = creditPaymentId, PaymentDate = request.PaymentDate, PaymentValue = request.PaymentValue }; var payment = _mapper.Map <CreditPayment>(paymentDto); return(await _baseRepository.UpdateEntityAsync(payment)); }
public async Task <IActionResult> UpdateCreditPayment([FromRoute] int creditId, int creditPaymentId, [FromBody] UpdateCreditPaymentRequest request) { var userId = User.Claims.FirstOrDefault(c => c.Type == "id").Value; // check if user exists var userExists = await _identityService.CheckIfUserExists(userId); if (!userExists) { return(NotFound(new ErrorResponse(new ErrorModel { Message = $"There is no user with id: {userId}" }))); } var credit = await _creditService.GetCreditAsync(creditId); if (credit == null) { return(NotFound(new ErrorResponse(new ErrorModel { Message = $"There is no budget with id: {creditId}" }))); } if (credit.UserId != userId) { return(Forbid()); } var creditPaymentInDb = await _creditPaymentService.GetCreditPaymentAsync(creditPaymentId); if (creditPaymentInDb == null) { return(NotFound(new ErrorResponse(new ErrorModel { Message = $"There is no creditPayment with id: {creditPaymentId} for credit id: {creditId}" }))); } var updateCredit = await _creditPaymentService.UpdateCreditPaymentAsync(request, creditPaymentId); if (!updateCredit) { return(BadRequest(new ErrorResponse(new ErrorModel { Message = $"Could not update credit payment with id:{creditPaymentId}" }))); } var updatedCreditPayment = await _creditPaymentService.GetCreditPaymentAsync(creditPaymentId); return(Ok(new Response <CreditPaymentResponse>(_mapper.Map <CreditPaymentResponse>(updatedCreditPayment)))); }