public static GLBatchTDS LoadARecurringBatch(Int32 ALedgerNumber, TFinanceBatchFilterEnum AFilterBatchStatus) { Boolean NewTransaction = false; TDBTransaction Transaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, out NewTransaction); GLBatchTDS MainDS = new GLBatchTDS(); ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction); string SelectClause = String.Format("SELECT * FROM PUB_{0} WHERE {1} = {2}", ARecurringBatchTable.GetTableDBName(), ARecurringBatchTable.GetLedgerNumberDBName(), ALedgerNumber); string FilterByBatchStatus = string.Empty; if (AFilterBatchStatus == TFinanceBatchFilterEnum.fbfAll) { // FilterByBatchStatus is empty } else if ((AFilterBatchStatus & TFinanceBatchFilterEnum.fbfEditing) != 0) { FilterByBatchStatus = string.Format(" AND {0} = '{1}'", ARecurringBatchTable.GetBatchStatusDBName(), MFinanceConstants.BATCH_UNPOSTED); } DBAccess.GDBAccessObj.Select(MainDS, SelectClause + FilterByBatchStatus, MainDS.ARecurringBatch.TableName, Transaction); if (NewTransaction) { DBAccess.GDBAccessObj.RollbackTransaction(); } return MainDS; }
public static GLBatchTDS LoadARecurringBatch(Int32 ALedgerNumber, TFinanceBatchFilterEnum AFilterBatchStatus) { #region Validate Arguments if (ALedgerNumber <= 0) { throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString( "Function:{0} - The Ledger number must be greater than 0!"), Utilities.GetMethodName(true)), ALedgerNumber); } #endregion Validate Arguments GLBatchTDS MainDS = new GLBatchTDS(); TDBTransaction Transaction = null; try { DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, ref Transaction, delegate { ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction); #region Validate Data if ((MainDS.ALedger == null) || (MainDS.ALedger.Count == 0)) { throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString( "Function:{0} - Ledger data for Ledger number {1} does not exist or could not be accessed!"), Utilities.GetMethodName(true), ALedgerNumber)); } #endregion Validate Data string SelectClause = String.Format("SELECT * FROM PUB_{0} WHERE {1}={2}", ARecurringBatchTable.GetTableDBName(), ARecurringBatchTable.GetLedgerNumberDBName(), ALedgerNumber); string FilterByBatchStatus = string.Empty; if ((AFilterBatchStatus & TFinanceBatchFilterEnum.fbfEditing) != 0) { FilterByBatchStatus = string.Format(" AND {0} = '{1}'", ARecurringBatchTable.GetBatchStatusDBName(), MFinanceConstants.BATCH_UNPOSTED); } //else if (AFilterBatchStatus == TFinanceBatchFilterEnum.fbfAll) //{ // // FilterByBatchStatus is empty //} DBAccess.GDBAccessObj.Select(MainDS, SelectClause + FilterByBatchStatus, MainDS.ARecurringBatch.TableName, Transaction); }); MainDS.AcceptChanges(); } catch (Exception ex) { TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}", Utilities.GetMethodSignature(), Environment.NewLine, ex.Message)); throw ex; } return MainDS; }