예제 #1
0
        public static cartDto.Payment ToPaymentDto(this Payment payment)
        {
            var result = new cartDto.Payment
            {
                Id                 = payment.Id,
                OuterId            = payment.OuterId,
                PaymentGatewayCode = payment.PaymentGatewayCode,
                TaxType            = payment.TaxType,

                Amount = (double)payment.Amount.InternalAmount,

                Currency       = payment.Currency.Code,
                Price          = (double)payment.Price.InternalAmount,
                DiscountAmount = (double)payment.DiscountAmount.InternalAmount,
                TaxPercentRate = (double)payment.TaxPercentRate
            };

            if (payment.BillingAddress != null)
            {
                result.BillingAddress = ToCartAddressDto(payment.BillingAddress);
            }
            if (payment.Discounts != null)
            {
                result.Discounts = payment.Discounts.Select(ToCartDiscountDto).ToList();
            }
            if (payment.TaxDetails != null)
            {
                result.TaxDetails = payment.TaxDetails.Select(ToCartTaxDetailDto).ToList();
            }

            return(result);
        }
예제 #2
0
        public virtual cartDto.Payment ToPaymentDto(Payment payment)
        {
            var result = new cartDto.Payment();

            result.InjectFrom <NullableAndEnumValueInjecter>(payment);

            result.Amount = (double)payment.Amount.Amount;


            result.Currency       = payment.Currency.Code;
            result.Price          = (double)payment.Price.Amount;
            result.DiscountAmount = (double)payment.DiscountAmount.Amount;
            result.TaxPercentRate = (double)payment.TaxPercentRate;

            if (payment.BillingAddress != null)
            {
                result.BillingAddress = ToCartAddressDto(payment.BillingAddress);
            }
            if (payment.Discounts != null)
            {
                result.Discounts = payment.Discounts.Select(ToCartDiscountDto).ToList();
            }
            if (payment.TaxDetails != null)
            {
                result.TaxDetails = payment.TaxDetails.Select(ToCartTaxDetailDto).ToList();
            }

            return(result);
        }
예제 #3
0
        public virtual Payment ToPayment(cartDto.Payment paymentDto, ShoppingCart cart)
        {
            var result = new Payment(cart.Currency);

            result.InjectFrom <NullableAndEnumValueInjecter>(paymentDto);

            result.Amount = new Money(paymentDto.Amount ?? 0, cart.Currency);

            if (paymentDto.BillingAddress != null)
            {
                result.BillingAddress = ToAddress(paymentDto.BillingAddress);
            }

            result.Price          = new Money(paymentDto.Price ?? 0, cart.Currency);
            result.DiscountAmount = new Money(paymentDto.DiscountAmount ?? 0, cart.Currency);
            result.TaxPercentRate = (decimal?)paymentDto.TaxPercentRate ?? 0m;

            if (paymentDto.TaxDetails != null)
            {
                result.TaxDetails = paymentDto.TaxDetails.Select(td => ToTaxDetail(td, cart.Currency)).ToList();
            }
            if (!paymentDto.Discounts.IsNullOrEmpty())
            {
                result.Discounts.AddRange(paymentDto.Discounts.Select(x => ToDiscount(x, new[] { cart.Currency }, cart.Language)));
            }
            return(result);
        }
예제 #4
0
        public static Payment ToPayment(this cartDto.Payment paymentDto, ShoppingCart cart)
        {
            var result = new Payment(cart.Currency)
            {
                Id                 = paymentDto.Id,
                OuterId            = paymentDto.OuterId,
                PaymentGatewayCode = paymentDto.PaymentGatewayCode,
                TaxType            = paymentDto.TaxType,

                Amount = new Money(paymentDto.Amount ?? 0, cart.Currency)
            };

            if (paymentDto.BillingAddress != null)
            {
                result.BillingAddress = ToAddress(paymentDto.BillingAddress);
            }

            result.Price          = new Money(paymentDto.Price ?? 0, cart.Currency);
            result.DiscountAmount = new Money(paymentDto.DiscountAmount ?? 0, cart.Currency);
            result.TaxPercentRate = (decimal?)paymentDto.TaxPercentRate ?? 0m;

            if (paymentDto.TaxDetails != null)
            {
                result.TaxDetails = paymentDto.TaxDetails.Select(td => ToTaxDetail(td, cart.Currency)).ToList();
            }
            if (!paymentDto.Discounts.IsNullOrEmpty())
            {
                result.Discounts.AddRange(paymentDto.Discounts.Select(x => ToDiscount(x, new[] { cart.Currency }, cart.Language)));
            }
            return(result);
        }
예제 #5
0
        public virtual cartDto.Payment ToPaymentDto(Payment payment)
        {
            var result = new cartDto.Payment();

            result.Id                 = payment.Id;
            result.OuterId            = payment.OuterId;
            result.PaymentGatewayCode = payment.PaymentGatewayCode;
            result.TaxType            = payment.TaxType;

            result.Amount = (double)payment.Amount.Amount;

            result.Currency       = payment.Currency.Code;
            result.Price          = (double)payment.Price.Amount;
            result.DiscountAmount = (double)payment.DiscountAmount.Amount;
            result.TaxPercentRate = (double)payment.TaxPercentRate;

            if (payment.BillingAddress != null)
            {
                result.BillingAddress = ToCartAddressDto(payment.BillingAddress);
            }
            if (payment.Discounts != null)
            {
                result.Discounts = payment.Discounts.Select(ToCartDiscountDto).ToList();
            }
            if (payment.TaxDetails != null)
            {
                result.TaxDetails = payment.TaxDetails.Select(ToCartTaxDetailDto).ToList();
            }

            return(result);
        }
예제 #6
0
        public virtual cartDto.Payment ToPaymentDto(Payment payment)
        {
            var result = new cartDto.Payment();

            result.InjectFrom <NullableAndEnumValueInjecter>(payment);

            result.Amount = (double)payment.Amount.Amount;

            if (payment.BillingAddress != null)
            {
                result.BillingAddress = ToCartAddressDto(payment.BillingAddress);
            }

            result.Currency = payment.Currency.Code;

            return(result);
        }
예제 #7
0
        public virtual Payment ToPayment(cartDto.Payment paymentDto, Currency currency)
        {
            var result = ServiceLocator.Current.GetInstance <CartFactory>().CreatePayment(currency);

            result.InjectFrom <NullableAndEnumValueInjecter>(paymentDto);

            result.Amount = new Money(paymentDto.Amount ?? 0, currency);

            if (paymentDto.BillingAddress != null)
            {
                result.BillingAddress = ToAddress(paymentDto.BillingAddress);
            }

            result.Currency = currency;

            return(result);
        }
예제 #8
0
 public static Payment ToPayment(this cartDto.Payment paymentDto, Currency currency)
 {
     return(CartConverterInstance.ToPayment(paymentDto, currency));
 }
예제 #9
0
 public static Payment ToPayment(this cartDto.Payment paymentDto, ShoppingCart cart)
 {
     return(CartConverterInstance.ToPayment(paymentDto, cart));
 }