internal static Bill getBill(HttpResponseMessage responce) { var bill=new Bill(); var json = responce.Content.ReadAsStringAsync().Result; var jsonObj = JObject.Parse(json).ToObject<Dictionary<string, object>>(); //var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(json.ToString()); if(jsonObj.ContainsKey("bill")) { bill = JsonConvert.DeserializeObject<Bill>(jsonObj["bill"].ToString()); } return bill; }
/// <summary> /// Gets the bills credited. /// </summary> /// <param name="response">The response.</param> /// <returns>BillList.</returns> internal static BillList getBillsCredited(HttpResponseMessage response) { var billList = new BillList(); var jsonObject = JsonConvert.DeserializeObject<Dictionary<string, object>>(response.Content.ReadAsStringAsync().Result); if(jsonObject.ContainsKey("bills")) { var billsArray = JsonConvert.DeserializeObject<List<object>>(jsonObject["bills"].ToString()); foreach(var billObject in billsArray) { var bill = new Bill(); bill = JsonConvert.DeserializeObject<Bill>(billObject.ToString()); billList.Add(bill); } } return billList; }
internal static BillList getBillList(HttpResponseMessage responce) { var billList = new BillList(); var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responce.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("bills")) { var billsArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["bills"].ToString()); foreach(var billObj in billsArray) { var bill = new Bill(); bill = JsonConvert.DeserializeObject<Bill>(billObj.ToString()); billList.Add(bill); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject<PageContext>(jsonObj["page_context"].ToString()); billList.page_context = pageContext; } return billList; }
/// <summary> /// Updates the specified bill information. /// </summary> /// <param name="bill_id">The bill_id is the identifier of the bill on which the changes are going to be applied.</param> /// <param name="update_info">The update_info is the bill object which contains the vendor_id,account_id and bill_number as mandatory parameters..</param> /// <param name="attachment_path">The attachment_path is the reciept path for the bill.</param> /// <returns>Bill object.</returns> public Bill Update(string bill_id, Bill update_info, string attachment_path) { string url = baseAddress + "/" + bill_id; var json = JsonConvert.SerializeObject(update_info); var jsonstring = new Dictionary<object, object>(); jsonstring.Add("JSONString", json); var file = new KeyValuePair<string, string>("attachment", attachment_path); var responce = ZohoHttpClient.put(url, getQueryParameters(),jsonstring ,file); return BillParser.getBill(responce); }
/// <summary> /// Creates the bill for the vendor specified information. /// </summary> /// <param name="new_bill_info">The new_bill_info is the bill object which contains the vendor_id,account_id and bill_number as mandatory parameters.</param> /// <param name="attachment_path">The attachment_path is the receipt file to the bill.</param> /// <returns>Bill object.</returns> public Bill Create(Bill new_bill_info, string attachment_path) { string url = baseAddress; var json = JsonConvert.SerializeObject(new_bill_info); var jsonstring = new Dictionary<object, object>(); jsonstring.Add("JSONString", json); var attachments = new string[] { attachment_path }; var file = new KeyValuePair<string, string[]>("attachment", attachments); var responce = ZohoHttpClient.post(url, getQueryParameters(),jsonstring,file); return BillParser.getBill(responce); }
static void Main(string[] args) { try { BillsApi billsApi = new BillsApi("{authtoken}", "{organizationId}"); var parameters = new Dictionary<object, object>(); var getBillAttach = billsApi.GetAttachment("71917000000088001", parameters); Console.WriteLine(getBillAttach); var parameters1 = new Dictionary<object, object>(); var bills = billsApi.GetBills(parameters1); if (bills != null) { foreach (var bill in bills) { Console.WriteLine("{0},{1},{2}", bill.bill_id, bill.vendor_name, bill.status); } } var billbyId = billsApi.Get("71917000000216033"); if (billbyId != null) { Console.WriteLine("{0},{1},{2}", billbyId.bill_id, billbyId.vendor_name, billbyId.status); Console.WriteLine("line Items {0}", billbyId.line_items.Count); List<LineItem> lts = billbyId.line_items; if (lts != null) foreach (var lt in lts) { Console.WriteLine("{0},{1},{2}", lt.account_name, lt.rate, lt.line_item_id); } } var newBillInfo = new Bill() { vendor_id = "71917000000020021", bill_number = "130", line_items = new List<LineItem>() { new LineItem{ account_id="71917000000000451", rate=1.0 } } }; var newBill = billsApi.Create(newBillInfo, @"F:\Personal\hari-2197\Desktop\2.jpg"); if (newBill != null) Console.WriteLine("{0},{1},{2}", newBill.bill_id, newBill.vendor_name, newBill.status); var updateInfo = new Bill() { bill_number = "156" }; var updatedBill = billsApi.Update("71917000000088017", updateInfo, @"F:\error.png"); if (updatedBill != null) Console.WriteLine("{0},{1},{2}", updatedBill.bill_id, updatedBill.vendor_name, updatedBill.attachment_name); var delBill = billsApi.Delete("71917000000089001"); Console.WriteLine(delBill); var voidBill = billsApi.VoidABill("71917000000088017"); Console.WriteLine(voidBill); var openBill = billsApi.MarkBillAsOpen("71917000000088017"); Console.WriteLine(openBill); var newBillingaddr = new Address() { state = "A.P", zip = "523117" }; var updatedBillindaddr = billsApi.UpdateBillingAddress("71917000000088017", newBillingaddr); Console.WriteLine(updatedBillindaddr); var billpayments = billsApi.GetPayments("71917000000088001"); foreach (var billpayment in billpayments) { Console.WriteLine("{0},{1}", billpayment.payment_id, billpayment.bill_payment_id); } UseCredits creditsToApply = new UseCredits() { bill_payments = new List<Payment>(){ new Payment(){ payment_id="71917000000087297", amount_applied=5 }, } }; var applyCredits = billsApi.ApplyCredits("71917000000088001", creditsToApply); Console.WriteLine(applyCredits); var delbillpay = billsApi.DeletePayment("71917000000088001", "71917000000090031"); Console.WriteLine(delbillpay); var parameters2 = new Dictionary<object, object>(); parameters2.Add("preview", false); var getBillAttach1 = billsApi.GetAttachment("71917000000088017", parameters2); Console.WriteLine(getBillAttach1); var delAttach = billsApi.DeleteAttachment("71917000000088001"); Console.WriteLine(delAttach); var attachfile = billsApi.AddAttachment("71917000000088001", @"C:\Users\hari-pt117\Downloads\Download Excel Macro Sample.xls"); Console.WriteLine(attachfile); var comments = billsApi.GetComments("71917000000088017"); if (comments != null) foreach (var comment in comments) Console.WriteLine("{0},{1},{2}", comment.comment_id, comment.description, comment.commented_by); var newCommentinfo = new Comment() { description = "nothing2" }; var newComment = billsApi.AddComment("71917000000088017", newCommentinfo); Console.WriteLine(newComment); var delcomment = billsApi.DeleteComment("71917000000088001", "71917000000088005"); Console.WriteLine(delcomment); } catch(Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }