public async Task <BaseModel> UpdateAsync(PaymentModelItem modelItem) { var order = await _orderRepository.FindByIdAsync(modelItem.OrderId); var orderModel = new OrderModelItem(); if (order == null) { orderModel.Errors.Add(Constants.Errors.NotFoundOrderError); return(orderModel); } var payment = new Payment(); payment.TransactionId = modelItem.TransactionId; var paymentId = await _paymentsRepository.CreateAsync(payment); if (paymentId == 0) { orderModel.Errors.Add(Constants.Errors.CreatePaymentError); return(orderModel); } order.PaymentId = paymentId; order.Status = Enums.Order.OrderStatus.Paid; var result = await _orderRepository.UpdateAsync(order); if (!result) { orderModel.Errors.Add(Constants.Errors.UpdateOrderError); } return(orderModel); }
public async Task <IActionResult> Update([FromBody] PaymentModelItem paymentModelItem) { var orderModel = await _orderService.UpdateAsync(paymentModelItem); return(Ok(orderModel)); }