public bool LedgerTxnDelete(LedgerTxn ledger_txn)
        {
            return(ExecuteFaultHandledOperation(() =>
            {
                ILedgerTxnRepository ledger_txn_repo = _data_repository_factory.GetDataRepository <ILedgerTxnRepository>();
                LedgerTxnData ledger_txn_data = MapLedgerTxnToLedgerTxnData(ledger_txn);

                ledger_txn_repo.Delete(ledger_txn_data);
                return true;
            }));
        }
        public int LedgerTxnSave(LedgerTxn ledger_txn)
        {
            if (ledger_txn == null)
            {
                throw new ArgumentNullException(nameof(ledger_txn));
            }

            return(ExecuteFaultHandledOperation(() =>
            {
                ILedgerTxnRepository ledger_txn_repo = _data_repository_factory.GetDataRepository <ILedgerTxnRepository>();

                int ledger_txn_key;
                LedgerTxnData prod_data = MapLedgerTxnToLedgerTxnData(ledger_txn);

                ledger_txn_key = ledger_txn_repo.Insert(prod_data);

                return ledger_txn_key;
            }));
        }
        public LedgerTxn GetLedgerTxnByID(int ledger_txn_key)
        {
            Log.Info("Accessing LedgerTxnBusinessEngine GetLedgerTxnByID function");
            return(ExecuteFaultHandledOperation(() =>
            {
                ILedgerTxnRepository ledger_txn_repo = _data_repository_factory.GetDataRepository <ILedgerTxnRepository>();
                LedgerTxnData ledger_txn_data = ledger_txn_repo.GetByID(ledger_txn_key);
                Log.Info("LedgerTxnBusinessEngine GetByID function completed");

                if (ledger_txn_data.LedgerTxnKey != 0)
                {
                    LedgerTxn ledger_txn = MapLedgerTxnDataToLedgerTxn(ledger_txn_data);

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