예제 #1
0
        private static bool IsSubsystemActivated(Int32 ALedgerNumber, String ASubsystemCode)
        {
            #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);
            }
            else if (ASubsystemCode.Length == 0)
            {
                throw new ArgumentException(String.Format(Catalog.GetString("Function:{0} - The Subsystem Code is empty!"),
                        Utilities.GetMethodName(true)));
            }

            #endregion Validate Arguments

            Boolean Activated = false;

            ASystemInterfaceTable TemplateTable;
            ASystemInterfaceRow TemplateRow;
            StringCollection TemplateOperators;

            TemplateTable = new ASystemInterfaceTable();
            TemplateRow = TemplateTable.NewRowTyped(false);
            TemplateRow.LedgerNumber = ALedgerNumber;
            TemplateRow.SubSystemCode = ASubsystemCode;
            TemplateRow.SetUpComplete = true;
            TemplateOperators = new StringCollection();
            TemplateOperators.Add("=");

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum, ref Transaction,
                delegate
                {
                    if (ASystemInterfaceAccess.CountUsingTemplate(TemplateRow, TemplateOperators, Transaction) > 0)
                    {
                        Activated = true;
                    }
                });

            return Activated;
        }
예제 #2
0
        private static bool IsSubsystemActivated(Int32 ALedgerNumber, String ASubsystemCode)
        {
            Boolean NewTransaction;
            Boolean Activated = false;

            TDBTransaction Transaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum, out NewTransaction);

            ASystemInterfaceTable TemplateTable;
            ASystemInterfaceRow TemplateRow;
            StringCollection TemplateOperators;

            TemplateTable = new ASystemInterfaceTable();
            TemplateRow = TemplateTable.NewRowTyped(false);
            TemplateRow.LedgerNumber = ALedgerNumber;
            TemplateRow.SubSystemCode = ASubsystemCode;
            TemplateRow.SetUpComplete = true;
            TemplateOperators = new StringCollection();
            TemplateOperators.Add("=");

            if (ASystemInterfaceAccess.CountUsingTemplate(TemplateRow, TemplateOperators, Transaction) > 0)
            {
                Activated = true;
            }

            if (NewTransaction)
            {
                DBAccess.GDBAccessObj.RollbackTransaction();
            }

            return Activated;
        }