public CardPaymentDetailsDto(CardPaymentDetails payment)
        {
            Cardholder              = new CardholderDto(payment.Cardholder);
            CreditCard              = new CreditCardDto(payment.CreditCard);
            Currency                = payment.Currency.ToString();
            Description             = payment.Description;
            GeneratePaymentToken    = payment.GeneratePaymentToken;
            GenerateRecurrenceToken = payment.GenerateRecurrenceToken;
            Intent         = payment.Intent.ToString();
            Language       = payment.Language.ToString();
            Operation      = payment.Operation.Value;
            PayeeInfo      = new PayeeInfoResponseDto(payment.PayeeInfo);
            PayerReference = payment.PayerReference;
            PaymentToken   = payment.PaymentToken;
            RiskIndicator  = new RiskIndicatorDto(payment.RiskIndicator);
            Urls           = new UrlsDto(payment.Urls);
            UserAgent      = payment.UserAgent;

            if (payment.Metadata != null)
            {
                Metadata = new MetadataDto(payment.Metadata);
            }

            Prices = new List <PriceDto>();
            foreach (var item in payment.Prices)
            {
                Prices.Add(new PriceDto(item));
            }
        }
Example #2
0
        public PaymentOrderRequestDetailsDto(PaymentOrderRequestDetails paymentOrder)
        {
            Amount                  = paymentOrder.Amount.InLowestMonetaryUnit;
            Currency                = paymentOrder.Currency.ToString();
            Description             = paymentOrder.Description;
            GenerateRecurrenceToken = paymentOrder.GenerateRecurrenceToken;
            Language                = paymentOrder.Language.ToString();
            Operation               = paymentOrder.Operation.Value;
            PayeeInfo               = new PayeeInfoResponseDto(paymentOrder.PayeeInfo);
            Payer              = new PayerDto(paymentOrder.Payer);
            RiskIndicator      = new RiskIndicatorDto(paymentOrder.RiskIndicator);
            Urls               = new UrlsDto(paymentOrder.Urls);
            UserAgent          = paymentOrder.UserAgent;
            VatAmount          = paymentOrder.VatAmount.InLowestMonetaryUnit;
            DisablePaymentMenu = paymentOrder.DisablePaymentMenu;

            if (paymentOrder.Metadata != null)
            {
                Metadata = new MetadataDto(paymentOrder.Metadata);
            }

            if (paymentOrder.Items != null)
            {
                Items = new List <ItemDto>();
                foreach (var item in paymentOrder.Items)
                {
                    Items.Add(new ItemDto(item));
                }
            }

            if (paymentOrder.OrderItems != null)
            {
                OrderItems = new List <OrderItemDto>();
                foreach (var item in paymentOrder.OrderItems)
                {
                    OrderItems.Add(new OrderItemDto(item));
                }
            }
        }
        public void CanConvert_DateTime()
        {
            //ARRANGE
            var riskIndicator = new RiskIndicator
            {
                PreOrderDate  = new DateTime(2020, 1, 1),
                ShipIndicator = ShipIndicator.ShipToAnotherVerifiedAddressOnFileWithMerchant,
                DeliveryTimeFrameIndicator = DeliveryTimeFrameIndicator.TwoDayOrMoreShipping,
                DeliveryEmailAddress       = new EmailAddress("*****@*****.**"),
                PreOrderPurchaseIndicator  = PreOrderPurchaseIndicator.FutureAvailability,
                ReOrderPurchaseIndicator   = ReOrderPurchaseIndicator.MerchandiseAvailable,
                PickUpAddress = new PickUpAddress
                {
                    CountryCode = new CountryCode("NO")
                }
            };
            var dto = new RiskIndicatorDto(riskIndicator);

            //ACT
            var result = JsonSerializer.Serialize(dto, JsonSerialization.JsonSerialization.Settings);

            using JsonDocument doc = JsonDocument.Parse(result);
            var dateTimeAsString  = doc.RootElement.GetProperty("preOrderDate").ToString();
            var shipInd           = doc.RootElement.GetProperty("shipIndicator").ToString();
            var delTimeFrameInd   = doc.RootElement.GetProperty("deliveryTimeFrameIndicator").ToString();
            var preOrdPurchaseInd = doc.RootElement.GetProperty("preOrderPurchaseIndicator").ToString();
            var reOrdPurchaseInd  = doc.RootElement.GetProperty("reOrderPurchaseIndicator").ToString();
            var email             = doc.RootElement.GetProperty("deliveryEmailAddress").ToString();
            var countryCode       = doc.RootElement.GetProperty("pickUpAddress").GetProperty("countryCode").ToString();

            //ASSERT
            Assert.Equal("20200101", dateTimeAsString);
            Assert.Equal("*****@*****.**", email);
            Assert.Equal("02", shipInd);
            Assert.Equal("02", preOrdPurchaseInd);
            Assert.Equal("01", reOrdPurchaseInd);
            Assert.Equal("04", delTimeFrameInd);
            Assert.Equal("NO", countryCode);
        }