// [Test] public void InsertInventoryItem2() { string xml = @"<insertInventoryItem> <inventoryItem uid=""0""> <code>LS3900</code> <description>13-foot Heavy Duty Light Stand</description> <isActive>true</isActive> <notes></notes> <isInventoried></isInventoried> <assetAccountUid></assetAccountUid> <stockOnHand></stockOnHand> <currentValue></currentValue> <isBought>false</isBought> <purchaseExpenseAccountUid></purchaseExpenseAccountUid> <purchaseTaxCode></purchaseTaxCode> <minimumStockLevel></minimumStockLevel> <primarySupplierContactUid></primarySupplierContactUid> <primarySupplierItemCode></primarySupplierItemCode> <defaultReOrderQuantity></defaultReOrderQuantity> <isSold></isSold> <saleIncomeAccountUid></saleIncomeAccountUid> <saleTaxCode></saleTaxCode> <saleCoSAccountUid></saleCoSAccountUid> <sellingPrice>105.00000</sellingPrice> <isSellingPriceIncTax></isSellingPriceIncTax> </inventoryItem> </insertInventoryItem> "; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); Console.WriteLine("Result:"); Console.WriteLine(result); }
// [Test] public void InsertContact2() { string xml = @"<?xml version=""1.0"" encoding=""utf-8""?> <tasks> <insertContact> <contact uid=""0""> <salutation/> <givenName>fred</givenName> <familyName>person</familyName> <organisationName/> <organisationAbn/> <organisationWebsite/> <organisationPosition/> <email>[email protected]</email> <mainPhone>123456789</mainPhone> <homePhone/> <mobilePhone/> <tags>retail customer, retail, customer</tags> <isActive>true</isActive> </contact> </insertContact> </tasks> " ; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); Console.WriteLine("Result:"); Console.WriteLine(result); }
/// <summary> /// Search contact by contact id (not contact uid). /// </summary> /// <param name="contactID"></param> /// <returns></returns> private contactListResponse SearchByContactID(string contactID) { NameValueCollection queries = new NameValueCollection(); queries.Add("contactid", contactID); string url = RestProxy.MakeUrl("ContactList"); url += "&" + Util.ToQueryString(queries); string xmlFragment = HttpUtils.Get(url); contactListResponse response = (contactListResponse)XmlSerializationUtils.Deserialize(typeof(contactListResponse), xmlFragment); return(response); }
public void GetPdfContactStatement() { NameValueCollection queries = new NameValueCollection(); queries.Add("contactuid", this.MrSmith.Uid.ToString()); // Required. queries.Add("datefrom", "2000-07-01"); // Required. queries.Add("dateto", "2008-06-30"); // Required. queries.Add("format", "pdf"); // Required. string url = RestProxy.MakeUrl("contactstatementreport"); url += "&" + Util.ToQueryString(queries); new WebClient().DownloadFile(url, "ContactStatement" + DateTime.Today.ToString("yyyyMMdd") + ".pdf"); }
// [Test] public void InsertItemSaleQuote() { string xml = @"<insertInvoice> <invoice uid=""0""> <transactionType>S</transactionType> <date>2011-03-24</date> <contactUid>2681</contactUid> <shipToContactUid></shipToContactUid> <folderUid></folderUid> <tags></tags> <reference></reference> <summary></summary> <notes>test</notes> <requiresFollowUp></requiresFollowUp> <dueOrExpiryDate></dueOrExpiryDate> <layout>I</layout> <status>Q</status> <invoiceNumber><Auto Number></invoiceNumber> <purchaseOrderNumber></purchaseOrderNumber> <ccy>AUD</ccy> <autoPopulateFxRate>true</autoPopulateFxRate> <fcToBcFxRate></fcToBcFxRate> <invoiceItems> <itemInvoiceItem> <quantity>1</quantity> <inventoryItemUid>637345</inventoryItemUid> <description>13-foot Heavy Duty Light Stand</description> <taxCode>GST</taxCode> <unitPriceInclTax>115.50</unitPriceInclTax> <percentageDiscount></percentageDiscount> </itemInvoiceItem> <itemInvoiceItem> <quantity>1</quantity> <inventoryItemUid>637346</inventoryItemUid> <description>Shipping for Joomla / Virtuemart sales</description> <taxCode>GST</taxCode> <unitPriceInclTax>38.5</unitPriceInclTax> <percentageDiscount></percentageDiscount> </itemInvoiceItem> </invoiceItems> </invoice> </insertInvoice> " ; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); Console.WriteLine("Result:"); Console.WriteLine(result); }
/// <summary> /// Search contact, Carl O'Neil from O'Neil Capital. /// </summary> /// <returns></returns> private contactListResponse SearchCarl() { NameValueCollection queries = new NameValueCollection(); queries.Add("givenname", "carl"); // AKA first name. queries.Add("familyName", "o'neil"); // AKA last name. queries.Add("organisationName", "o'neil capital"); // AKA organisation, company. string url = RestProxy.MakeUrl("ContactList"); url += "&" + Util.ToQueryString(queries); string xmlFragment = HttpUtils.Get(url); contactListResponse response = (contactListResponse)XmlSerializationUtils.Deserialize(typeof(contactListResponse), xmlFragment); return(response); }
// [Test] public void InsertContact() { string xml = @"<?xml version=""1.0"" encoding=""utf-8""?> <tasks> <insertContact> <contact uid=""0""> <salutation>Mr.</salutation> <givenName>John</givenName> <familyName>Smith</familyName> <organisationName>Saasy.tv</organisationName> <organisationAbn>777888999</organisationAbn> <organisationPosition>Director</organisationPosition> <email>[email protected]</email> <mainPhone>02 9999 9999</mainPhone> <mobilePhone>0444 444 444</mobilePhone> <contactID>XYZ123</contactID> <tags>Gold Prospect, Film</tags> <postalAddress> <street>3/33 Victory Av</street> <city>North Sydney</city> <state>NSW</state> <country>Australia</country> </postalAddress> <otherAddress> <street>111 Elizabeth street</street> <city>Sydney</city> <state>NSW</state> <country>Australia</country> </otherAddress> <isActive>true</isActive> <acceptDirectDeposit>false</acceptDirectDeposit> <acceptCheque>false</acceptCheque> <customField1>This is custom field 1</customField1> <customField2>This is custom field 2</customField2> </contact> </insertContact> </tasks> "; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); }
// [Test] public void InsertInventoryItem() { string id = DateTime.Now.Ticks.ToString(); string xml = @"<?xml version=""1.0"" encoding=""utf-8""?> <tasks> <insertInventoryItem> <!-- NOTE: Replaced all Uids with the ones from your file. --> <inventoryItem uid=""0""> <code>CODE_" + id + @"</code> <description>Description for " + id + @"</description> <isActive>true</isActive> <notes>Notes for CODE_0c8-4ab2-9333-0890659b5d51</notes> <isInventoried>true</isInventoried> <assetAccountUid>87346</assetAccountUid> <stockOnHand>0</stockOnHand> <currentValue>0</currentValue> <isBought>true</isBought> <purchaseExpenseAccountUid>0</purchaseExpenseAccountUid> <purchaseTaxCode>G11</purchaseTaxCode> <minimumStockLevel>99</minimumStockLevel> <primarySupplierContactUid>205235</primarySupplierContactUid> <primarySupplierItemCode>S_CODE</primarySupplierItemCode> <defaultReOrderQuantity>20</defaultReOrderQuantity> <isSold>true</isSold> <saleIncomeAccountUid>87349</saleIncomeAccountUid> <saleTaxCode>G1</saleTaxCode> <saleCoSAccountUid>87348</saleCoSAccountUid> <sellingPrice>7.75</sellingPrice> <isSellingPriceIncTax>true</isSellingPriceIncTax> </inventoryItem> </insertInventoryItem> </tasks> "; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); }
// [Test] public void InsertJournal_MoreThan2Decimals() { string xml = @"<?xml version=""1.0"" encoding=""utf-16""?> <tasks xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd="" http://www.w3.org/2001/XMLSchema""> <insertJournal> <journal uid=""0""> <utcLastModified>0001-01-01T00:00:00</utcLastModified> <date>2012-07-03</date> <summary>Pay run for pay period ending: 06/07/2012</summary> <requiresFollowUp>false</requiresFollowUp> <autoPopulateFxRate>true</autoPopulateFxRate> <fcToBcFxRate>0</fcToBcFxRate> <reference>233</reference> <journalItems> <journalItem> <accountUid>299019</accountUid> <amount>9761.66000</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>13300.98648</amount> <type>Debit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>2361</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>299028</accountUid> <taxCode>W1</taxCode> <amount>301.92000</amount> <type>Debit</type> </journalItem> <journalItem> <accountUid>299028</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>0</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <taxCode>W1</taxCode> <amount>969.24648</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>741</accountUid> <amount>2872.00000</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>745</accountUid> <amount>1197.08000</amount> <type>Debit</type> </journalItem> <journalItem> <accountUid>743</accountUid> <amount>1197.08000</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>744</accountUid> <amount>969.23000</amount> <type>Debit</type> </journalItem> <journalItem> <accountUid>2374</accountUid> <amount>969.23000</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>2371</accountUid> <taxCode>W1</taxCode> <amount>2872.00000</amount> <type>Credit</type> </journalItem> <journalItem> <accountUid>2371</accountUid> <taxCode>W1,W2</taxCode> <amount>2872.00000</amount> <type>Debit</type> </journalItem> </journalItems> </journal> </insertJournal> </tasks> "; string url = RestProxy.MakeUrl("Tasks"); string result = HttpUtils.Post(url, xml); Console.WriteLine("Result:"); Console.WriteLine(result); var tasksResponse = (TasksResponse)XmlSerializationUtils.Deserialize(typeof(TasksResponse), result); Assert.AreEqual(0, tasksResponse.Errors.Count, "Should save successfully."); }