/// <summary>
 /// Creates an account with the given account type.
 /// </summary>
 /// <param name="new_account_info">The new_account_info is the ChartOfAccount object which contains the specified information to create an account with account_type as mandatory parameter.</param>
 /// <returns>ChartOfAccount object.</returns>
 public ChartOfAccount Create(ChartOfAccount new_account_info)
 {
     string url = baseAddress;
     var json = JsonConvert.SerializeObject(new_account_info);
     var jsonstring = new Dictionary<object, object>();
     jsonstring.Add("JSONString", json);
     var responce = ZohoHttpClient.post(url, getQueryParameters(jsonstring));
     return ChartofaccountParser.getChartOfAccount(responce);
 }
 internal static ChartOfAccount getChartOfAccount(HttpResponseMessage responce)
 {
     var chartOfAccount = new ChartOfAccount();
     var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responce.Content.ReadAsStringAsync().Result);
     if (jsonObj.ContainsKey("chart_of_account"))
     {
         chartOfAccount = JsonConvert.DeserializeObject<ChartOfAccount>(jsonObj["chart_of_account"].ToString());
     }
     return chartOfAccount;
 }
 internal static ChartOfAccountList getChartOfAccountList(HttpResponseMessage responce)
 {
     var chartOfAccountList = new ChartOfAccountList();
     var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responce.Content.ReadAsStringAsync().Result);
     if (jsonObj.ContainsKey("chartofaccounts"))
     {
         var chartOfAccountsArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["chartofaccounts"].ToString());
         foreach(var chartOfAccountObj in chartOfAccountsArray)
         {
             var chartOfAccount = new ChartOfAccount();
             chartOfAccount = JsonConvert.DeserializeObject<ChartOfAccount>(chartOfAccountObj.ToString());
             chartOfAccountList.Add(chartOfAccount);
         }
     }
     if (jsonObj.ContainsKey("page_context"))
     {
         var pageContext = new PageContext();
         pageContext = JsonConvert.DeserializeObject<PageContext>(jsonObj["page_context"].ToString());
         chartOfAccountList.page_context = pageContext;
     }
     return chartOfAccountList;
 }
예제 #4
0
        static void Main(string[] args)
        {
            try
            {
                var service = new ZohoBooks();
                service.initialize("{authtoken}", "{organizationId}");
                var chartofAccountApi = service.GetChartOfAccountsApi();
                var parameters = new Dictionary<object, object>();
                parameters.Add("sort_column", "account_name");
                Console.WriteLine("----------------------------List of Accounts-----------------");
                var chartofaccountsList = chartofAccountApi.GetChartOfAcounts(parameters);
                var accounts = chartofaccountsList;
                foreach (var account in accounts)
                    Console.WriteLine("{0},{1},{2}", account.account_id, account.account_name, account.account_type);
                Console.WriteLine("----------------------------Specified Chart of Account-----------------");
                var account1 = chartofAccountApi.Get(accounts[0].account_id);
                Console.WriteLine("{0},{1},{2}", account1.account_id, account1.account_name, account1.account_type);
                var newAccountInfo = new ChartOfAccount()
                {
                    account_name = "account name",
                    account_type = "cost_of_goods_sold"
                };
                Console.WriteLine("----------------------------New Account-----------------");
                var newAccount = chartofAccountApi.Create(newAccountInfo);
                Console.WriteLine("{0},{1},{2}", newAccount.account_id, newAccount.account_name, newAccount.account_type);
                var updateInfo = new ChartOfAccount()
                {
                    account_name = "hari-test",
                };
                Console.WriteLine("----------------------------Updated Account-----------------");
                var updatedAccount = chartofAccountApi.Update(newAccount.account_id, updateInfo);
                Console.WriteLine("{0},{1},{2}", updatedAccount.account_id, updatedAccount.account_name, updatedAccount.account_type);
                Console.WriteLine("----------------------------Delete Account-----------------");
                var delInfo = chartofAccountApi.Delete(updatedAccount.account_id);
                Console.WriteLine(delInfo);
                Console.WriteLine("----------------------------Mark Account as active/inactive-----------------");
                var markasinactive = chartofAccountApi.MarkAsInactive(accounts[16].account_id);
                Console.WriteLine(markasinactive);
                var markasactive = chartofAccountApi.MarkAsActive(accounts[16].account_id);
                Console.WriteLine(markasactive);
                var parameters1 = new Dictionary<object, object>();
                parameters1.Add("account_id", accounts[0].account_id);
                parameters1.Add("date.start", "2014-02-06");
                parameters1.Add("date.end", "2014-02-08");
                parameters1.Add("amount.less_than", 100);
                Console.WriteLine("----------------------------Transactions of Account-----------------");
                var transactionsList = chartofAccountApi.GetTransactions(parameters1);
                var trans = transactionsList;
                foreach (var tran in trans)
                    Console.WriteLine("{0},{1},{2}", tran.transaction_id, tran.payee, tran.payment_mode);
                Console.WriteLine("----------------------------Delete Transaction of Account-----------------");
                var deltran = chartofAccountApi.DeleteATransaction(trans[0].transaction_id);
                Console.WriteLine(deltran);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadKey();
        }