internal static BaseCurrencyAdjustmentsList getBaseCurrencyAdjustmentList(HttpResponseMessage responce) { var baseCurrencyAdjustmentList = new BaseCurrencyAdjustmentsList(); var jsonObj = JsonConvert.DeserializeObject <Dictionary <string, object> >(responce.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("base_currency_adjustments")) { var baseCurrencyAdjArray = JsonConvert.DeserializeObject <List <object> >(jsonObj["base_currency_adjustments"].ToString()); foreach (var baseCurrencyAdjObj in baseCurrencyAdjArray) { var baseCurrencyAdj = new BaseCurrencyAdjustment(); baseCurrencyAdj = JsonConvert.DeserializeObject <BaseCurrencyAdjustment>(baseCurrencyAdjObj.ToString()); baseCurrencyAdjustmentList.Add(baseCurrencyAdj); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject <PageContext>(jsonObj["page_context"].ToString()); baseCurrencyAdjustmentList.page_context = pageContext; } return(baseCurrencyAdjustmentList); }
/// <summary> /// Creates the base currency adjustment for the specified information. /// </summary> /// <param name="new_base_currency_adjustment_info">The new_base_currency_adjustment_info is the BaseCurrencyAdjustment object which contains the currency_id,adjustment_date,exchange_rate and notes as mandatory parameters.</param> /// <param name="parameters">The parameters contains the following key value pair<br></br> /// <table> /// <tr><td>account_ids*</td><td>ID of the accounts for which base currency adjustments need to be posted.</td></tr> /// </table> /// </param> /// <returns>BaseCurrencyAdjustment.</returns> public BaseCurrencyAdjustment Create(BaseCurrencyAdjustment new_base_currency_adjustment_info, Dictionary <object, object> parameters) { string url = baseAddress; var json = JsonConvert.SerializeObject(new_base_currency_adjustment_info); parameters.Add("JSONString", json); var responce = ZohoHttpClient.post(url, getQueryParameters(parameters)); return(BaseCurrencyAdjustmentParser.getBaseCurrencyAdjustment(responce)); }
internal static BaseCurrencyAdjustment getBaseCurrencyAdjustment(HttpResponseMessage responce) { var baseCurrencyAdjustment = new BaseCurrencyAdjustment(); var jsonObj = JsonConvert.DeserializeObject <Dictionary <string, object> >(responce.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("data")) { baseCurrencyAdjustment = JsonConvert.DeserializeObject <BaseCurrencyAdjustment>(jsonObj["data"].ToString()); } return(baseCurrencyAdjustment); }
static void Main(string[] args) { try { var service = new ZohoBooks(); service.initialize("{authtoken}", "{organizationId}"); var baseCurrencyAdjustmentApi = service.GetBaseCurrencyAdjustmentsApi(); var parameters = new Dictionary <object, object>(); parameters.Add("filter_by", "Date.All"); var baseCurrencyAdjustmentsList = baseCurrencyAdjustmentApi.GetBaseCurrencyAdjustments(parameters); var adjustments = baseCurrencyAdjustmentsList; Console.WriteLine("------------------Adjustment List---------------------"); foreach (var adjustment in adjustments) { Console.WriteLine("{0},{1},{2}", adjustment.base_currency_adjustment_id, adjustment.currency_code, adjustment.exchange_rate); } var baseAdjust = baseCurrencyAdjustmentApi.Get(adjustments[0].base_currency_adjustment_id); Console.WriteLine("----------------specific Adjustment----------------"); Console.WriteLine("{0},{1},{2}", baseAdjust.base_currency_adjustment_id, baseAdjust.currency_code, baseAdjust.exchange_rate); var accounts = baseAdjust.accounts; foreach (var account in accounts) { Console.WriteLine("{0},{1},{2}", account.account_name, account.adjusted_balance, account.gain_or_loss_formatted); } var parameters1 = new Dictionary <object, object>(); parameters1.Add("currency_id", adjustments[0].currency_id); parameters1.Add("adjustment_date", adjustments[0].adjustment_date); parameters1.Add("exchange_rate", adjustments[0].exchange_rate); parameters1.Add("notes", adjustments[0].notes); var baseAdjust1 = baseCurrencyAdjustmentApi.GetBaseCurrencyAdjustmentAccounts(parameters1); Console.WriteLine("----------------specific Adjustment accounts----------------"); Console.WriteLine("{0},{1},{2}", baseAdjust.base_currency_adjustment_id, baseAdjust.currency_code, baseAdjust.exchange_rate); var accounts1 = baseAdjust.accounts; foreach (var account in accounts1) { Console.WriteLine("{0},{1},{2}", account.account_name, account.adjusted_balance, account.gain_or_loss_formatted); } var parameters2 = new Dictionary <object, object>(); parameters2.Add("account_ids", accounts1[0].account_id); var newAdjustInfo = new BaseCurrencyAdjustment() { currency_id = baseAdjust1.currency_id, adjustment_date = "2014-11-14", exchange_rate = 35, notes = "notes", }; var newAdjust = baseCurrencyAdjustmentApi.Create(newAdjustInfo, parameters2); Console.WriteLine("----------------New Adjustment----------------"); Console.WriteLine("{0},{1},{2}", newAdjust.base_currency_adjustment_id, newAdjust.currency_code, newAdjust.exchange_rate); var accounts2 = newAdjust.accounts; foreach (var account in accounts2) { Console.WriteLine("{0},{1},{2}", account.account_name, account.adjusted_balance, account.gain_or_loss_formatted); } var deleteMsg = baseCurrencyAdjustmentApi.Delete(newAdjust.base_currency_adjustment_id); Console.WriteLine("----------------Delete Adjustment----------------"); Console.WriteLine(deleteMsg); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }