Example #1
0
        public async Task <IEnumerable <TResult> > PostAsync <TResult, TResponse>(string endpoint, object data, NameValueCollection parameters = null)
            where TResponse : IXeroResponse <TResult>, new()
        {
            var queryString = CreateQueryString(null, null, parameters, true);

            HttpContent content = new StringContent(XmlMapper.To(data), Encoding.UTF8, MimeTypes.ApplicationXml);

            var request = CreateRequest(endpoint, HttpMethod.Post, content: content, query: queryString);

            var response = await SendRequestAsync(request);

            return(await ReadAsync <TResult, TResponse>(response));
        }
        public async Task <IEnumerable <TResult> > PostAsync <TResult, TResponse>(string endPoint, object data)
            where TResponse : IXeroResponse <TResult>, new()
        {
            var uri = GetUri(endPoint);

            using (var client = GetClient(HttpMethod.Post, uri)) {
                var content = new StringContent(xmlMapper.To(data), Encoding.UTF8, MimeTypes.ApplicationXml);

                if (rateLimiter != null)
                {
                    await rateLimiter.WaitUntilLimit();
                }
                var response = await client.PostAsync(uri, content);

                return(await Read <TResult, TResponse>(response));
            }
        }
Example #3
0
        public void nullable_type_roundtrip_xml()
        {
            var journal = createJournal();

            var xml = _xmlMapper.To(journal);

            var deserialized = _xmlMapper.From <Journal>(xml);

            Assert.AreEqual(journal.Id, deserialized.Id);
            Assert.AreEqual(journal.SourceType, SourceType.AccountsPayablePrepayment);
        }
Example #4
0
        public void nullable_type_roundtrip_xml()
        {
            var creditNote = createPayment();

            var xml = _xmlMapper.To(creditNote);

            var deserialized = _xmlMapper.From <Payment>(xml);

            Assert.AreEqual(creditNote.Id, deserialized.Id);
            Assert.AreEqual(creditNote.Type, deserialized.Type);
        }
Example #5
0
        public void nullable_type_xml()
        {
            var invoice = createInvoice();

            var xml = _xmlMapper.To(invoice);

            var deserialized = _xmlMapper.From <Invoice>(xml);

            Assert.AreEqual(invoice.Id, deserialized.Id);
            Assert.AreEqual(invoice.Type, deserialized.Type);
        }
Example #6
0
        public void nullable_type_roundtrip_xml()
        {
            var creditNote = createCreditNote();

            var xml = _xmlMapper.To(creditNote);

            var deserialized = _xmlMapper.From <CreditNote>(xml);

            Assert.IsFalse(object.ReferenceEquals(creditNote, deserialized));
            Assert.AreEqual(creditNote.Id, deserialized.Id);
            Assert.AreEqual(creditNote.Type, deserialized.Type);
        }
Example #7
0
        public void nullable_type_roundtrip_xml()
        {
            var taxRate = createCreditNote();

            var xml = _xmlMapper.To(taxRate);

            var deserialized = _xmlMapper.From <TaxRate>(xml);

            Assert.IsFalse(object.ReferenceEquals(taxRate, deserialized));
            Assert.AreEqual(taxRate.Name, deserialized.Name);
            Assert.AreEqual(taxRate.EffectiveRate, deserialized.EffectiveRate);
        }
Example #8
0
 public IEnumerable <TResult> Post <TResult, TResponse>(string endPoint, object data)
     where TResponse : IXeroResponse <TResult>, new()
 {
     return(Read <TResult, TResponse>(Client.Post(endPoint, XmlMapper.To(data), query: new QueryGenerator(null, null, Parameters).UrlEncodedQueryString)));
 }