public void UpdatePaymentTransfer(PaymentTransfer transfer)
        {
            try
            {
                if (transfer == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                var paymentTransfer = GetPaymentTransferById(transfer.Id);

                if (paymentTransfer == null)
                {
                    throw new ArgumentNullException(nameof(paymentTransfer));
                }

                paymentTransfer.IssuingBankId   = transfer.IssuingBankId;
                paymentTransfer.ReceiverBankId  = transfer.ReceiverBankId;
                paymentTransfer.ReferenceNumber = transfer.ReferenceNumber;

                _transferRepository.Update(paymentTransfer);
                _cacheManager.RemoveByPattern(TRANSFER_PATTERN_KEY);
            }
            catch (Exception ex)
            {
                throw new NopException("Error al actualizar la transferencia: " + ex.Message, ex);
            }
        }
        public void InsertPaymentTransfer(PaymentTransfer transfer)
        {
            try
            {
                if (transfer == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                var order = _orderService.GetOrderById(transfer.OrderId);
                if (order == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                var banks = _bankService.GetBankAlls();
                if (banks == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                transfer.ReceiverBankName   = banks.Where(x => x.Id.Equals(transfer.ReceiverBankId)).FirstOrDefault().Name;
                transfer.IssuingBankName    = banks.Where(x => x.Id.Equals(transfer.IssuingBankId)).FirstOrDefault().Name;
                transfer.OrderTotal         = order.OrderTotal;
                transfer.PaymentStatusOrder = order.PaymentStatusId;

                _transferRepository.Insert(transfer);
                _cacheManager.RemoveByPattern(TRANSFER_PATTERN_KEY);
            }
            catch (Exception ex)
            {
                throw new NopException("Error al insertar la transferencia: " + ex.Message, ex);
            }
        }
        public void DeletePaymentTransfer(PaymentTransfer transfer)
        {
            if (transfer == null)
            {
                throw new ArgumentNullException(nameof(transfer));
            }

            _transferRepository.Delete(transfer);
            _cacheManager.RemoveByPattern(TRANSFER_PATTERN_KEY);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        public void UpdatePaymentTransfer(PaymentTransfer transfer)
        {
            try
            {
                if (transfer == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                var paymentTransfer = GetPaymentTransferById(transfer.Id);

                if (paymentTransfer == null)
                {
                    throw new ArgumentNullException(nameof(paymentTransfer));
                }

                paymentTransfer.IssuingBankId   = transfer.IssuingBankId;
                paymentTransfer.ReceiverBankId  = transfer.ReceiverBankId;
                paymentTransfer.ReferenceNumber = transfer.ReferenceNumber;

                var banks = _bankService.GetBankAlls();
                if (banks == null)
                {
                    throw new ArgumentNullException(nameof(transfer));
                }

                paymentTransfer.ReceiverBankName = banks.Where(x => x.Id.Equals(transfer.ReceiverBankId)).FirstOrDefault().Name;
                paymentTransfer.IssuingBankName  = banks.Where(x => x.Id.Equals(transfer.IssuingBankId)).FirstOrDefault().Name;

                _transferRepository.Update(paymentTransfer);
                _cacheManager.RemoveByPattern(TRANSFER_PATTERN_KEY);
            }
            catch (Exception ex)
            {
                throw new NopException("Error al actualizar la transferencia: " + ex.Message, ex);
            }
        }
Example #6
0
        public void InsertPayment(Consolidate payment)
        {
            try
            {
                if (payment == null)
                {
                    throw new ArgumentNullException(nameof(payment));
                }

                var order2 = _orderService.GetOrderById(payment.OrdenId);
                if (order2 == null)
                {
                    throw new ArgumentNullException(nameof(payment.OrdenId));
                }

                // datos de la orden

                payment.MetodoPago         = order2.PaymentMethodSystemName;
                payment.CodigoMoneda       = order2.CustomerCurrencyCode;
                payment.TiendaId           = order2.StoreId;
                payment.ClienteId          = order2.CustomerId;
                payment.StatusPaymentOrder = order2.PaymentStatusId;


                switch (payment.MetodoPago)
                {
                case "Payments.Transfer":
                {
                    try
                    {
                        var paymentTransfer = _transferServices.GetPaymentTransferByOrderId(payment.OrdenId);
                        payment.BancoEmisor   = _bankServices.GetBankById(payment.BancoEmisorId).Name;
                        payment.BancoReceptor = payment.BancoEmisor;
                        var mnt = order2.OrderTotal;
                        payment.MontoTotalOrden = mnt.ToString("N", new CultureInfo("es-VE"));


                        if (paymentTransfer == null)
                        {
                            var model = new PaymentTransfer
                            {
                                IssuingBankId   = payment.BancoEmisorId,
                                OrderId         = payment.OrdenId,
                                ReceiverBankId  = payment.BancoReceptorId,
                                ReferenceNumber = payment.Referencia,
                                OrderTotal      = order2.OrderTotal
                            };
                            _transferServices.InsertPaymentTransfer(model);
                        }
                        else
                        {
                            UpdatePayment(payment);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new NopException("Error en insert transferencia: " + ex.Message, ex);
                    }
                    break;
                }

                default:
                {
                    try
                    {
                        var paymentZelle = _zelleServices.GetPaymentZelleByOrderId(payment.OrdenId);
                        if (paymentZelle == null)
                        {
                            var model = new PaymentZelle
                            {
                                IssuingEmail    = payment.EmailEmisor,
                                OrderId         = payment.OrdenId,
                                ReferenceNumber = payment.Referencia,
                                OrderTotal      = order2.OrderTotal * order2.CurrencyRate
                            };

                            _zelleServices.InsertPaymentZelle(model);
                        }
                        else
                        {
                            UpdatePayment(payment);
                        }
                        var mnto = order2.OrderTotal * order2.CurrencyRate;
                        payment.MontoTotalOrden = mnto.ToString("N", new CultureInfo("es-VE"));
                        //paymentZelle.PaymentStatusOrder = (int)order2.PaymentStatus;
                        //_zelleServices.UpdatePaymentZelle(paymentZelle);
                    }
                    catch (Exception ex)
                    {
                        throw new NopException("Error en insert zelle: " + ex.Message, ex);
                    }
                    break;
                }
                }

                if (payment.Id == 0)
                {
                    _paymentRepository.Insert(payment);
                }

                _cacheManager.RemoveByPattern(PAYMENT_PATTERN_KEY);
            }
            catch (Exception ex)
            {
                throw new NopException("Error al insertar el pago: " + ex.Message, ex);
            }
        }