/// <summary>
        /// Adds the ledger items to the organization's ledger.
        /// </summary>
        /// <param name="ledgerItemsToAdd">A collection of the ledger items to add.</param>
        public Task<EmptyDineroResult> AddAsync(CreateLedgerItemCollection ledgerItemsToAdd)
        {
            var parameters = new Dictionary<string, string>
            {
                {DineroApiParameterName.Endpoint, "ledgeritems"},
            };

            return Dinero.PostAsync<EmptyDineroResult>(parameters, ledgerItemsToAdd.JSonify());
        }
        /// <summary>
        /// Adds the ledger items to the organization's ledger.
        /// </summary>
        /// <param name="ledgerItemsToAdd">A collection of the ledger items to add.</param>
        /// <param name="callback"></param>
        public void LedgerAddLedgerItems(CreateLedgerItemCollection ledgerItemsToAdd, Action<DineroResult<string>> callback)
        {
            var parameters = new Dictionary<string, string>
            {
                {DineroApiParameterName.Endpoint, "ledgeritems"},
                {DineroApiParameterName.PostBody, ledgerItemsToAdd.JSonify()}
            };

            PostAcync(parameters, callback);
        }
        private static void AddLedgerItems()
        {
            int nextVoucherNumber = 0;
            Console.WriteLine("Lets get you next voucher number first...");
            _dinero.NextVoucherNumberForLedgerGetAsync(r =>
            {
                Console.WriteLine("The next voucher number is: {0}", r.Result.NextVoucherNumber);
                nextVoucherNumber = r.Result.NextVoucherNumber;
                Console.WriteLine(
                    "Now we are gonna make some ledger items. In a real app you would enter them in here...");
                var ledgerItemA = new CreateLedgerItem
                {
                    AccountNumber = 1000,
                    AccountVatCode = "I25",
                    Amount = -175m,
                    Description = "Momsfrit salg af spartelmasse",
                    VoucherDate = "02/07/2015",
                    VoucherNumber = nextVoucherNumber
                };
                var ledgerItemB = new CreateLedgerItem
                {
                    AccountNumber = 55000,
                    AccountVatCode = "none",
                    Amount = 175m,
                    Description = "Indsat på bank",
                    VoucherDate = "02/07/2015",
                    VoucherNumber = nextVoucherNumber
                };

                var ledgerItemCollection = new CreateLedgerItemCollection { ledgerItemA, ledgerItemB };

                Console.WriteLine("Now we'll add these two items:.");
                Console.WriteLine();
                foreach (var item in ledgerItemCollection)
                {
                    Console.WriteLine("{0} Beløb: {1} Konto: {2}", item.Description, item.Amount, item.AccountNumber);
                }

                _dinero.LedgerAddLedgerItems(ledgerItemCollection, result =>
                {
                    Console.WriteLine();
                    Console.WriteLine("Items added. Jubii!");
                });

            });
        }
        public static async Task AddLedgerItems(Dinero dinero)
        {
            Console.WriteLine("Lets get you next voucher number first...");
            var nextVoucherNumberResult = await dinero.Ledgers.GetNextVoucherNumberForLedger();

            Console.WriteLine("The next voucher number is: {0}", nextVoucherNumberResult.NextVoucherNumber);
            Console.WriteLine("Now we are gonna make some ledger items. In a real app you would enter them in here...");
            var ledgerItemA = new CreateLedgerItem
            {
                AccountNumber = 1000,
                AccountVatCode = "I25",
                Amount = -175m,
                Description = "Momsfrit salg af spartelmasse",
                VoucherDate = "2015-02-07",
                VoucherNumber = nextVoucherNumberResult.NextVoucherNumber
            };
            var ledgerItemB = new CreateLedgerItem
            {
                AccountNumber = 55000,
                AccountVatCode = "none",
                Amount = 175m,
                Description = "Indsat på bank",
                VoucherDate = "2015-02-07",
                VoucherNumber = nextVoucherNumberResult.NextVoucherNumber
            };

            var ledgerItemCollection = new CreateLedgerItemCollection { ledgerItemA, ledgerItemB };

            Console.WriteLine("Now we'll add these two items:.");
            Console.WriteLine();
            foreach (var item in ledgerItemCollection)
            {
                Console.WriteLine("{0} Beløb: {1} Konto: {2}", item.Description, item.Amount, item.AccountNumber);
            }

            await dinero.Ledgers.AddAsync(ledgerItemCollection);

            Console.WriteLine();
            Console.WriteLine("Items added. Jubii!");
        }
 /// <summary>
 /// Adds the ledger items to the organization's ledger.
 /// </summary>
 /// <param name="ledgerItemsToAdd">A collection of the ledger items to add.</param>
 public EmptyDineroResult Add(CreateLedgerItemCollection ledgerItemsToAdd)
 {
     return TaskHelper.ExecuteSync(() => AddAsync(ledgerItemsToAdd));
 }