public void SerializePingRequestTest()
        {
            PingRequest request = new PingRequest();

            request.Language = Language.en;
            request.Merchant = new Merchant()
            {
                ApiKey   = base.apiKey,
                ApiLogin = base.apiLogin
            };
            request.Url = base.paymentsUrl;

            request.Command = Command.PING;

            DotNetXmlSerializer serializer = new DotNetXmlSerializer();

            string serializedObject = serializer.Serialize(request);

            Assert.IsTrue(serializedObject.Contains("<request>"));
            Assert.IsTrue(serializedObject.Contains("<command>PING</command>"));
            Assert.IsTrue(serializedObject.Contains("<apiLogin>012345678901</apiLogin>"));
            Assert.IsTrue(serializedObject.Contains("<apiKey>012345678901</apiKey>"));
            Assert.IsTrue(serializedObject.Contains("<language>en</language>"));
            Assert.IsTrue(serializedObject.Contains("</request>"));
        }
        public void Product_Serialize()
        {
            // Arrange
            Guid randomName = Guid.NewGuid();

            Product newProduct = new Product()
            {
                name           = randomName.ToString(),
                price_in_cents = 100,
                interval_unit  = IntervalUnit.month,
                interval       = 1
            };

            // Act
            string msg        = string.Empty;
            var    serializer = new DotNetXmlSerializer();

            msg = serializer.Serialize(newProduct);

            // Assert
            XDocument doc                 = XDocument.Parse(msg);
            XElement  nameElement         = doc.Root.Elements().FirstOrDefault(e => e.Name == "name");
            XElement  priceElement        = doc.Root.Elements().FirstOrDefault(e => e.Name == "price_in_cents");
            XElement  intervalUnitElement = doc.Root.Elements().FirstOrDefault(e => e.Name == "interval_unit");
            XElement  intervalElement     = doc.Root.Elements().FirstOrDefault(e => e.Name == "interval");

            Assert.IsTrue(doc.Root.Elements().Count() == 4);
            Assert.IsFalse(string.IsNullOrEmpty(nameElement.Value));
            Assert.IsTrue(randomName.ToString() == nameElement.Value);
            Assert.IsNotNull(priceElement);
            Assert.IsTrue(int.Parse(priceElement.Value) > int.MinValue);
            Assert.AreEqual((int)newProduct.price_in_cents, int.Parse(priceElement.Value));
            Assert.IsFalse(string.IsNullOrEmpty(intervalUnitElement.Value));
            Assert.IsTrue((int)newProduct.interval_unit == (int)Enum.Parse(typeof(IntervalUnit), intervalUnitElement.Value));
        }
Ejemplo n.º 3
0
        public static IRestClient UseDotNetXmlSerializer(this IRestClient restClient,
                                                         string xmlNamespace = null, Encoding encoding = null)
        {
            var xmlSerializer = new DotNetXmlSerializer();

            if (xmlNamespace != null)
            {
                xmlSerializer.Namespace = xmlNamespace;
            }
            if (encoding != null)
            {
                xmlSerializer.Encoding = encoding;
            }

            var xmlDeserializer = new DotNetXmlDeserializer();

            if (encoding != null)
            {
                xmlDeserializer.Encoding = encoding;
            }

            var serializer = new XmlRestSerializer()
                             .WithXmlSerializer(xmlSerializer)
                             .WithXmlDeserializer(xmlDeserializer);

            return(restClient.UseSerializer(serializer));
        }
Ejemplo n.º 4
0
        public string WriteAllText(string rootElement, Object requestObject, string fullPath)
        {
            DotNetXmlSerializer serializer = new DotNetXmlSerializer();
            string xmlRequest = serializer.Serialize(requestObject);

            File.WriteAllText(fullPath, xmlRequest);
            return(xmlRequest);
        }
Ejemplo n.º 5
0
        /// <summary>
        ///     Adds an object as serialized xml string.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="request">The request.</param>
        /// <param name="obj">The object that will be serialized and added as xml string content.</param>
        /// <param name="name">A name needed when content is a MultipartFormDataContent already.</param>
        /// <param name="fileName">A file name needed when content is a MultipartFormDataContent already.</param>
        /// <returns>
        ///     this.
        /// </returns>
        /// <remarks>
        ///     Throws exception if the given object is null, or if the
        ///     serialized xml string is null or empty.
        /// </remarks>
        public static T AddXml <T>(this T request, object obj, string name = "", string fileName = "")
            where T : RestRequest
        {
            obj.ThrowIfNull(nameof(obj));
            var serializer = new DotNetXmlSerializer();
            var xmlContent = serializer.Serialize(obj);

            xmlContent.ThrowIfNullOrEmpty("BaseRestRequest", "xmlContent");
            // .net default encoding is UTF-8
            if (!IsNullOrEmpty(xmlContent))
            {
                request.AddContent(new StringContent(xmlContent, Encoding.UTF8, serializer.ContentType), name, fileName);
            }
            return(request);
        }
        public void SerializePaymentRequestTest()
        {
            PaymentRequest request = new PaymentRequest();

            request.Language = Language.en;
            request.Merchant = new Merchant()
            {
                ApiKey   = base.apiKey,
                ApiLogin = base.apiLogin
            };
            request.Url = base.paymentsUrl;

            request.Command = Command.SUBMIT_TRANSACTION;

            request.Transaction                             = new Transaction();
            request.Transaction.Order                       = new Order();
            request.Transaction.Order.AccountId             = 8;
            request.Transaction.Order.ReferenceCode         = "A1B2C3";
            request.Transaction.Order.Description           = "ALL IN 5";
            request.Transaction.Order.Language              = request.Language;
            request.Transaction.Order.Signature             = "575522081b12448a6a0cf326716a9c13";
            request.Transaction.Order.Buyer                 = new Buyer();
            request.Transaction.Order.Buyer.FullName        = "NAME 1383885401927";
            request.Transaction.Order.Buyer.Address         = new Address();
            request.Transaction.Order.Buyer.Address.Street1 = "1";
            request.Transaction.Order.Buyer.Address.City    = "Bogotá";
            request.Transaction.Order.AdditionalValues      = new SerializableDictionary <string, AdditionalValue>();
            request.Transaction.Order.AdditionalValues.Add("TX_TAX_RETURN_BASE", new AdditionalValue()
            {
                Currency = Currency.USD,
                Value    = 100.00M
            });
            request.Transaction.Order.AdditionalValues.Add("TX_VALUE", new AdditionalValue()
            {
                Currency = Currency.USD,
                Value    = 100.00M
            });
            request.Transaction.Order.AdditionalValues.Add("TX_TAX", new AdditionalValue()
            {
                Currency = Currency.USD,
                Value    = 16.00M
            });
            request.Transaction.CreditCard                = new CreditCard();
            request.Transaction.CreditCard.Name           = "NAME 1383922917718";
            request.Transaction.CreditCard.Number         = "4005580000029205";
            request.Transaction.CreditCard.SecurityCode   = "495";
            request.Transaction.CreditCard.ExpirationDate = "2015/01";
            request.Transaction.TransactionType           = TransactionType.AUTHORIZATION;
            request.Transaction.PaymentMethod             = PaymentMethod.VISA;
            request.Transaction.Source                = TransactionSource.PAYU_SDK;
            request.Transaction.PaymentCountry        = PaymentCountry.PA;
            request.Transaction.Payer                 = new Payer();
            request.Transaction.Payer.FullName        = "NAME 1383922917718";
            request.Transaction.Payer.Address         = new Address();
            request.Transaction.Payer.Address.City    = "Bogotá";
            request.Transaction.Payer.Address.Street1 = "ABC 123";
            request.Transaction.IpAddress             = "127.0.0.1";
            request.Transaction.Cookie                = "Cookie";
            request.Transaction.UserAgent             = ".NET te quiero como a Dominique de DM Argentina, eres lo máximo";
            request.Transaction.ExtraParameters       = new SerializableDictionary <string, string>();
            request.Transaction.ExtraParameters.Add("INSTALLMENTS_NUMBER", "3");

            DotNetXmlSerializer serializer = new DotNetXmlSerializer();
            string serializedObject        = serializer.Serialize(request);

            Assert.IsTrue(serializedObject.Contains("<request>"));
            Assert.IsTrue(serializedObject.Contains("<command>SUBMIT_TRANSACTION</command>"));
            Assert.IsTrue(serializedObject.Contains("<language>en</language>"));
            Assert.IsTrue(serializedObject.Contains("<merchant>"));
            Assert.IsTrue(serializedObject.Contains("<apiLogin>012345678901</apiLogin>"));
            Assert.IsTrue(serializedObject.Contains("<apiKey>012345678901</apiKey>"));
            Assert.IsTrue(serializedObject.Contains("</merchant>"));
            Assert.IsTrue(serializedObject.Contains("<transaction>"));
            Assert.IsTrue(serializedObject.Contains("<order>"));
            Assert.IsTrue(serializedObject.Contains("<accountId>8</accountId>"));
            Assert.IsTrue(serializedObject.Contains("<referenceCode>A1B2C3</referenceCode>"));
            Assert.IsTrue(serializedObject.Contains("<description>ALL IN 5</description>"));
            Assert.IsTrue(serializedObject.Contains("<language>en</language>"));
            Assert.IsTrue(serializedObject.Contains("<signature>575522081b12448a6a0cf326716a9c13</signature>"));
            Assert.IsTrue(serializedObject.Contains("<buyer>"));
            Assert.IsTrue(serializedObject.Contains("<fullName>NAME 1383885401927</fullName>"));
            Assert.IsTrue(serializedObject.Contains("<shippingAddress>"));
            Assert.IsTrue(serializedObject.Contains("<street1>1</street1>"));
            Assert.IsTrue(serializedObject.Contains("<city>Bogotá</city>"));
            Assert.IsTrue(serializedObject.Contains("</shippingAddress>"));
            Assert.IsTrue(serializedObject.Contains("</buyer>"));
            Assert.IsTrue(serializedObject.Contains("<additionalValues>"));
            Assert.IsTrue(serializedObject.Contains("<entry>"));
            Assert.IsTrue(serializedObject.Contains("<string>TX_TAX_RETURN_BASE</string>"));
            Assert.IsTrue(serializedObject.Contains("<additionalValue>"));
            Assert.IsTrue(serializedObject.Contains("<value>100.00</value>"));
            Assert.IsTrue(serializedObject.Contains("<currency>USD</currency>"));
            Assert.IsTrue(serializedObject.Contains("</additionalValue>"));
            Assert.IsTrue(serializedObject.Contains("</entry>"));
            Assert.IsTrue(serializedObject.Contains("</additionalValues>"));
            Assert.IsTrue(serializedObject.Contains("</order>"));
            Assert.IsTrue(serializedObject.Contains("<creditCard>"));
            Assert.IsTrue(serializedObject.Contains("<number>4005580000029205</number>"));
            Assert.IsTrue(serializedObject.Contains("<securityCode>495</securityCode>"));
            Assert.IsTrue(serializedObject.Contains("<expirationDate>2015/01</expirationDate>"));
            Assert.IsTrue(serializedObject.Contains("<name>NAME 1383922917718</name>"));
            Assert.IsTrue(serializedObject.Contains("</creditCard>"));
            Assert.IsTrue(serializedObject.Contains("<type>AUTHORIZATION</type>"));
            Assert.IsTrue(serializedObject.Contains("<paymentMethod>VISA</paymentMethod>"));
            Assert.IsTrue(serializedObject.Contains("<source>PAYU_SDK</source>"));
            Assert.IsTrue(serializedObject.Contains("<paymentCountry>PA</paymentCountry>"));
            Assert.IsTrue(serializedObject.Contains("<payer>"));
            Assert.IsTrue(serializedObject.Contains("<fullName>NAME 1383922917718</fullName>"));
            Assert.IsTrue(serializedObject.Contains("<billingAddress>"));
            Assert.IsTrue(serializedObject.Contains("<street1>ABC 123</street1>"));
            Assert.IsTrue(serializedObject.Contains("<city>Bogotá</city>"));
            Assert.IsTrue(serializedObject.Contains("</billingAddress>"));
            Assert.IsTrue(serializedObject.Contains("</payer>"));
            Assert.IsTrue(serializedObject.Contains("<ipAddress>127.0.0.1</ipAddress>"));
            Assert.IsTrue(serializedObject.Contains("<cookie>Cookie</cookie>"));
            Assert.IsTrue(serializedObject.Contains("<extraParameters>"));
            Assert.IsTrue(serializedObject.Contains("<entry>"));
            Assert.IsTrue(serializedObject.Contains("<string>INSTALLMENTS_NUMBER</string>"));
            Assert.IsTrue(serializedObject.Contains("<string>3</string>"));
            Assert.IsTrue(serializedObject.Contains("</entry>"));
            Assert.IsTrue(serializedObject.Contains("</extraParameters>"));
            Assert.IsTrue(serializedObject.Contains("</transaction>"));
            Assert.IsTrue(serializedObject.Contains("</request>"));
        }
Ejemplo n.º 7
0
 //private readonly Serilog.ILogger _logger;
 public EsaPrescriptionService(EsaPrescriptionSettings settings)
 {
     _url        = settings.EsaPrescriptionUrl;
     _serializer = new DotNetXmlSerializer();
     //_logger = logger;
 }