/// <summary>
        /// Get details about a ledger transaction
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetLedgerTransactionDetailsResponse GetLedgerTransactionDetails(GetLedgerTransactionDetailsRequest request)
        {
            _log.Info($"Entry {GetType().FullName}.{MethodBase.GetCurrentMethod().Name}");

            try
            {
                var response = _queryFacade.GetLedgerTransactionDetails(request.LedgerTransactionId);

                if (response == null)
                {
                    return(new GetLedgerTransactionDetailsResponse(null, ServiceStatus.ServiceError, "Unable to lookup Organization Balance"));
                }

                return
                    (new GetLedgerTransactionDetailsResponse(Mapper.Map <LedgerTransactionDetailedDTO>(response), ServiceStatus.Success, string.Empty));
            }
            catch (Exception ex)
            {
                _log.Error(request, ex);
                return(new GetLedgerTransactionDetailsResponse(null, ServiceStatus.ServiceError, ex.Message));
            }
            finally
            {
                _log.Info($"Exit {GetType().FullName}.{MethodBase.GetCurrentMethod().Name}");
            }
        }
        /// <summary>
        /// Get details for a ledger transaction
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetLedgerTransactionDetailsResponse GetLedgerTransactionDetails(
            GetLedgerTransactionDetailsRequest request)
        {
            try
            {
                Guard.IsNotNull(request);
                var response =
                    _transactionService
                    .GetLedgerTransactionDetails(Mapper
                                                 .Map
                                                 <TransactionService.Contracts.Models.Service.Transaction.GetLedgerTransactionDetailsRequest>
                                                     (request));

                if (response.ServiceStatus != TransactionService.Contracts.Models.Service.ServiceStatus.Success)
                {
                    return(new GetLedgerTransactionDetailsResponse(null, ServiceStatus.ServiceError,
                                                                   response.ErrorMessage));
                }

                return(Mapper.Map <GetLedgerTransactionDetailsResponse>(response));
            }
            catch (Exception ex)
            {
                _log.Error(ex.Message);
                return(new GetLedgerTransactionDetailsResponse(null, ServiceStatus.ServiceError, ex.Message));
            }
        }