public void UpdatePayment(Consolidate payment) { try { if (payment == null) { throw new ArgumentNullException(nameof(payment)); } switch (payment.MetodoPago) { case "Payments.Transfer": { try { var paymentTransfer = _transferServices.GetPaymentTransferByOrderId(payment.OrdenId); paymentTransfer.ReceiverBankName = payment.BancoEmisor; paymentTransfer.IssuingBankName = payment.BancoReceptor; paymentTransfer.ReceiverBankId = payment.BancoEmisorId; paymentTransfer.IssuingBankId = payment.BancoReceptorId; paymentTransfer.ReferenceNumber = payment.Referencia; _transferServices.UpdatePaymentTransfer(paymentTransfer); } catch (Exception ex) { throw new NopException("Error en transferencia: " + ex.Message, ex); } break; } default: { try { var zelleTransfer = _zelleServices.GetPaymentZelleByOrderId(payment.OrdenId); zelleTransfer.ReferenceNumber = payment.Referencia; zelleTransfer.IssuingEmail = payment.EmailEmisor; _zelleServices.UpdatePaymentZelle(zelleTransfer); } catch (Exception ex) { throw new NopException("Error en zelle: " + ex.Message, ex); } break; } } payment.FechaUltimaActualizacion = DateTime.Now; _paymentRepository.Update(payment); _cacheManager.RemoveByPattern(PAYMENT_PATTERN_KEY); } catch (Exception ex) { throw new NopException("Error al actualizar el pago: " + ex.Message, ex); } }
public IActionResult RegisterPayment(PaymentInfoModel payment) { try { if (payment == null) { return(Json(new { success = false })); } if (payment.IdPayment == 0) { var model = new PaymentTransfer { IssuingBankId = int.Parse(payment.BancoEmisorId), OrderId = payment.NroOrden, ReceiverBankId = int.Parse(payment.BancoReceptorId), ReferenceNumber = payment.Referencia }; _transferService.InsertPaymentTransfer(model); } else { var model = new PaymentTransfer { Id = payment.IdPayment, IssuingBankId = int.Parse(payment.BancoEmisorId), OrderId = payment.NroOrden, ReceiverBankId = int.Parse(payment.BancoReceptorId), ReferenceNumber = payment.Referencia, PaymentStatusOrder = payment.StatusPayment }; _transferService.UpdatePaymentTransfer(model); } ViewBag.RefreshPage = true; return(RedirectToRoute("OrderDetails", new { orderId = payment.NroOrden })); } catch (Exception ex) { throw new NopException(ex.Message, ex); } }