/// <summary> /// /// </summary> /// <param name="ALedgerNumber"></param> /// <param name="ABatchNumber"></param> /// <param name="ABatchYear"></param> /// <param name="ABatchPeriod"></param> public void LoadOneBatch(Int32 ALedgerNumber, Int32 ABatchNumber, int ABatchYear, int ABatchPeriod) { FLedgerNumber = ALedgerNumber; InitialiseLogicObjects(); FMainDS.Merge(ViewModeTDS); FPetraUtilsObject.SuppressChangeDetection = true; if (FLoadAndFilterLogicObject.BatchYear != ABatchYear) { FLoadAndFilterLogicObject.BatchYear = ABatchYear; FLoadAndFilterLogicObject.RefreshPeriods(ABatchYear); } FLoadAndFilterLogicObject.BatchPeriod = ABatchPeriod; FLoadAndFilterLogicObject.DisableYearAndPeriod(false); FMainDS.AGiftBatch.DefaultView.RowFilter = String.Format("{0}={1}", AGiftBatchTable.GetBatchNumberDBName(), ABatchNumber); Int32 RowToSelect = GetDataTableRowIndexByPrimaryKeys(ALedgerNumber, ABatchNumber); FAccountAndCostCentreLogicObject.RefreshBankAccountAndCostCentreData(FLoadAndFilterLogicObject); SetupExtraGridFunctionality(); // if this form is readonly, then we need all codes, because old codes might have been used bool ActiveOnly = this.Enabled; SetupAccountAndCostCentreCombos(ActiveOnly); cmbDetailMethodOfPaymentCode.AddNotSetRow("", ""); TFinanceControls.InitialiseMethodOfPaymentCodeList(ref cmbDetailMethodOfPaymentCode, ActiveOnly); SelectRowInGrid(RowToSelect); UpdateChangeableStatus(); FPetraUtilsObject.HasChanges = false; FPetraUtilsObject.SuppressChangeDetection = false; FBatchLoaded = true; }
/// <summary> /// load the batches into the grid /// </summary> public void LoadBatchesForCurrentYear() { TFrmGiftBatch MyParentForm = (TFrmGiftBatch)this.ParentForm; bool PerformStandardLoad = true; if (MyParentForm.InitialBatchYear >= 0) { FLoadAndFilterLogicObject.StatusAll = true; int yearIndex = FLoadAndFilterLogicObject.FindYearAsIndex(MyParentForm.InitialBatchYear); if (yearIndex >= 0) { FLoadAndFilterLogicObject.YearIndex = yearIndex; if (MyParentForm.InitialBatchPeriod >= 0) { FLoadAndFilterLogicObject.PeriodIndex = FLoadAndFilterLogicObject.FindPeriodAsIndex(MyParentForm.InitialBatchPeriod); } else { FLoadAndFilterLogicObject.PeriodIndex = (MyParentForm.InitialBatchYear == FMainDS.ALedger[0].CurrentFinancialYear) ? 1 : 0; } PerformStandardLoad = false; } // Reset the start-up value MyParentForm.InitialBatchYear = -1; } MyParentForm.ClearCurrentSelections(); if (ViewMode) { FMainDS.Merge(ViewModeTDS); FLoadAndFilterLogicObject.DisableYearAndPeriod(true); } if (PerformStandardLoad) { // Set up for current year with current and forwarding periods (on initial load this will already be set so will not fire a change) FLoadAndFilterLogicObject.YearIndex = 0; FLoadAndFilterLogicObject.PeriodIndex = 0; } // Get the data, populate the grid and re-select the current row (or first row if none currently selected) ... RefreshAllData(); FBatchLoaded = true; }