async void LoadGLTrans() { childDgGLTrans.ClearSorting(); SetExpandAndCollapse(true); List <int> dim1 = null, dim2 = null, dim3 = null, dim4 = null, dim5 = null; var NumberOfDimensions = api.CompanyEntity.NumberOfDimensions; if (NumberOfDimensions >= 1) { dim1 = TransactionReport.GetRowIDs(cbdim1); } if (NumberOfDimensions >= 2) { dim2 = TransactionReport.GetRowIDs(cbdim2); } if (NumberOfDimensions >= 3) { dim3 = TransactionReport.GetRowIDs(cbdim3); } if (NumberOfDimensions >= 4) { dim4 = TransactionReport.GetRowIDs(cbdim4); } if (NumberOfDimensions >= 5) { dim5 = TransactionReport.GetRowIDs(cbdim5); } AccountStatement.SetDateTime(txtDateFrm, txtDateTo); DateTime fromDate = AccountStatement.DefaultFromDate, toDate = AccountStatement.DefaultToDate; var showDimOnPrimo = cmbShowDimOnPrimo.SelectedIndex; #if !SILVERLIGHT pageBreak = cbxPageBreak.IsChecked.Value; #endif setShowDimOnPrimoIndex = showDimOnPrimo; string fromAccount = null, toAccount = null; var accountObj = cmbFromAccount.EditValue; if (accountObj != null) { fromAccount = accountObj.ToString(); } accountObj = cmbToAccount.EditValue; if (accountObj != null) { toAccount = accountObj.ToString(); } busyIndicator.IsBusy = true; if (Simulated.Visible) { SimulatedVisible = true; } string journal = cmbJournal.Text; Simulated.Visible = SimulatedVisible && !string.IsNullOrWhiteSpace(journal); var dimensionParams = BalanceReport.SetDimensionParameters(dim1, dim2, dim3, dim4, dim5, true, true, true, true, true); var listTrans = (GLTransClientTotal[])await transApi.GetTransactions(new GLTransClientTotal(), journal, fromAccount, toAccount, fromDate, toDate, dimensionParams, showDimOnPrimo); if (accountCache == null) { accountCache = await transApi.CompanyEntity.LoadCache(typeof(Uniconta.DataModel.GLAccount), api); } if (listTrans != null) { FillStatement(listTrans); } else if (transApi.LastError != 0) { Uniconta.ClientTools.Util.UtilDisplay.ShowErrorCode(transApi.LastError); } dgGLTrans.Visibility = Visibility.Visible; busyIndicator.IsBusy = false; SetExpandAndCollapse(IsCollapsed); }
private async Task LoadGlTran(bool maintainIndex = false) { List <int> dim1 = null, dim2 = null, dim3 = null, dim4 = null, dim5 = null; var NumberOfDimensions = api.CompanyEntity.NumberOfDimensions; if (NumberOfDimensions >= 1) { dim1 = GetRowIDs(cbdim1); } if (NumberOfDimensions >= 2) { dim2 = GetRowIDs(cbdim2); } if (NumberOfDimensions >= 3) { dim3 = GetRowIDs(cbdim3); } if (NumberOfDimensions >= 4) { dim4 = GetRowIDs(cbdim4); } if (NumberOfDimensions >= 5) { dim5 = GetRowIDs(cbdim5); } var isAscending = cbxAscending.IsChecked.Value; api.session.Preference.TransactionReport_isAscending = isAscending; var showDimOnPrimo = cmbShowDimOnPrimo.SelectedIndex; setShowDimOnPrimoIndex = showDimOnPrimo; setDateTime(txtDateFrm, txtDateTo); busyIndicator.IsBusy = true; string journal = cmbJournal.Text; var dimensionParams = BalanceReport.SetDimensionParameters(dim1, dim2, dim3, dim4, dim5, true, true, true, true, true); var listtran = (GLTransClientTotal[])await tranApi.GetTransactions(new GLTransClientTotal(), journal, masterClient._Account, masterClient._Account, DefaultFromDate, DefaultToDate, dimensionParams, showDimOnPrimo); if (listtran != null) { long Total = 0, TotalCur = 0; byte currentCur = (byte)masterClient._Currency; int l = listtran.Length; for (int i = 0; (i < l); i++) { var t = listtran[i]; Total += t._AmountCent; t._Total = Total; if (t._AmountCurCent != 0 && t._Currency == currentCur) { TotalCur += t._AmountCurCent; t._TotalCur = TotalCur; } } if (!isAscending) { Array.Reverse(listtran); } dgGLTran.SetSource(listtran, maintainIndex); } else if (tranApi.LastError != 0) { busyIndicator.IsBusy = false; Uniconta.ClientTools.Util.UtilDisplay.ShowErrorCode(tranApi.LastError); } }