public Ledger GetLedgerByID(int ledger_key)
        {
            Log.Info("Accessing LedgerBusinessEngine GetLedgerByID function");
            return(ExecuteFaultHandledOperation(() =>
            {
                ILedgerRepository ledger_repo = _data_repository_factory.GetDataRepository <ILedgerRepository>();
                LedgerData ledger_data = ledger_repo.GetByID(ledger_key);
                Log.Info("LedgerBusinessEngine GetByID function completed");

                if (ledger_data.LedgerKey != 0)
                {
                    Ledger ledger = MapLedgerDataToLedger(ledger_data);

                    return ledger;
                }
                else
                {
                    NotFoundException ex = new NotFoundException(string.Format("Ledger with key {0} is not in database", ledger_key));
                    throw new FaultException <NotFoundException>(ex, ex.Message);
                }
            }));
        }