public static System.DateTime GetPeriodEndDate(Int32 ALedgerNumber, System.Int32 AYear, System.Int32 ADiffPeriod, System.Int32 APeriod) { System.Int32 RealYear = 0; System.Int32 RealPeriod = 0; System.Type typeofTable = null; TCacheable CachePopulator = new TCacheable(); DateTime ReturnValue = DateTime.Now; GetRealPeriod(ALedgerNumber, ADiffPeriod, AYear, APeriod, out RealPeriod, out RealYear); DataTable CachedDataTable = CachePopulator.GetCacheableTable(TCacheableFinanceTablesEnum.AccountingPeriodList, "", false, ALedgerNumber, out typeofTable); string whereClause = AAccountingPeriodTable.GetLedgerNumberDBName() + " = " + ALedgerNumber.ToString() + " and " + AAccountingPeriodTable.GetAccountingPeriodNumberDBName() + " = " + RealPeriod.ToString(); DataRow[] filteredRows = CachedDataTable.Select(whereClause); if (filteredRows.Length > 0) { ReturnValue = ((AAccountingPeriodRow)filteredRows[0]).PeriodEndDate; ALedgerTable Ledger = (ALedgerTable)CachePopulator.GetCacheableTable(TCacheableFinanceTablesEnum.LedgerDetails, "", false, ALedgerNumber, out typeofTable); ReturnValue = ReturnValue.AddYears(RealYear - Ledger[0].CurrentFinancialYear); } return(ReturnValue); }
private DataTable GetAccountingPeriodListTable(TDBTransaction AReadTransaction, System.Int32 ALedgerNumber, string ATableName) { StringCollection FieldList = new StringCollection(); FieldList.Add(AAccountingPeriodTable.GetLedgerNumberDBName()); FieldList.Add(AAccountingPeriodTable.GetAccountingPeriodNumberDBName()); FieldList.Add(AAccountingPeriodTable.GetAccountingPeriodDescDBName()); FieldList.Add(AAccountingPeriodTable.GetPeriodStartDateDBName()); FieldList.Add(AAccountingPeriodTable.GetPeriodEndDateDBName()); return(AAccountingPeriodAccess.LoadViaALedger(ALedgerNumber, FieldList, AReadTransaction)); }