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); } })); }