public void Populate() { FinancialAccountRows rows = _accounts.GetRows(this._dateStart, this._dateEnd.AddDays(1)); Dictionary <int, decimal> accountBalance = new Dictionary <int, decimal>(); foreach (FinancialAccount account in _accounts) { _accountNames[account.Identity] = account.Name; if (account.AccountType == FinancialAccountType.Asset || account.AccountType == FinancialAccountType.Debt) { _accountInboundBalance[account.Identity] = account.GetDelta(new DateTime(2006, 1, 1), this._dateStart); } else { _accountInboundBalance[account.Identity] = account.GetDelta(new DateTime(this._dateStart.Year, 1, 1), this._dateStart); } accountBalance[account.Identity] = _accountInboundBalance[account.Identity]; } LedgerRows ledgerRows = new LedgerRows(); foreach (FinancialAccountRow row in rows) { accountBalance[row.FinancialAccountId] += row.Amount; if (row.Amount <= this._maxAmount) { ledgerRows.Add(new LedgerRow(row, accountBalance[row.FinancialAccountId])); } } this.GridTransactions.DataSource = ledgerRows; Session[_sessionObjectName] = ledgerRows; Session["FinancialAccountNames"] = _accountNames; this.GridTransactions.DataBind(); this.GridTransactions.Columns[0].Visible = !_simplifiedView; this.GridTransactions.Columns[1].Visible = _simplifiedView; this.GridTransactions.Columns[2].Visible = !_simplifiedView; this.GridTransactions.Columns[4].Visible = !_simplifiedView; this.GridTransactions.Columns[8].Visible = !_simplifiedView; this.GridTransactions.Columns[9].Visible = !_simplifiedView; this.GridTransactions.Columns[10].Visible = !_simplifiedView; }
protected void GridTransactions_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { LedgerRows rows = (LedgerRows)Session[_sessionObjectName]; this.GridTransactions.DataSource = rows; }