private BudgetDetailRow GetBudgetDetailRow(BudgetTrx budgetTrx) { string rowKey = budgetTrx.BudgetKey + ":" + budgetTrx.RepeatKey; if (!BudgetDetailRows.TryGetValue(rowKey, out BudgetDetailRow row)) { string sequence = "(none)"; if (!string.IsNullOrEmpty(budgetTrx.RepeatKey)) { sequence = budgetTrx.Register.Account.Repeats.KeyToValue1(budgetTrx.RepeatKey); } row = new BudgetDetailRow(PeriodCount, budgetTrx.BudgetKey, Company.Budgets.KeyToValue1(budgetTrx.BudgetKey), sequence); BudgetDetailRows[rowKey] = row; } return(row); }
private bool TryGetAdjustment(out decimal adjAmount, BudgetTrx target) { if (decimal.TryParse(txtAdjustment.Text, out adjAmount)) { // Amount should have the same sign as specified budget limit. if (target.BudgetLimit != 0m) { if ((target.BudgetLimit < 0m) != (adjAmount < 0m)) { adjAmount = -adjAmount; } } return(true); } adjAmount = 0m; mHostUI.ErrorMessageBox("Invalid adjustment amount."); return(false); }
private void btnAddAdj_Click(object sender, EventArgs e) { BudgetTrx budgetTrx = GetAdjustmentBudget(); if (budgetTrx == null) { return; } string moveMessage = "Moved " + mAmountToSubtract.ToString("F2") + " from" + Environment.NewLine + mBudgetToSubtractFrom.GetSummary() + Environment.NewLine + "to" + Environment.NewLine + budgetTrx.GetSummary() + "."; SetBudgetAmount(mBudgetToSubtractFrom, mBudgetToSubtractFrom.BudgetLimit - mAmountToSubtract); SetBudgetAmount(budgetTrx, budgetTrx.BudgetLimit + mAmountToSubtract); ClearPendingSubtraction(); EnableAdjustmentButtons(); RefreshGridTotals(); ShowBudgetCellInPanel(mSelectedBudgetRow, mSelectedBudgetColumn, mSelectedBudgetGridCell); mHostUI.InfoMessageBox(moveMessage); }
private void LoadTrx(BaseTrx trx) { int period = GetPeriod(trx.TrxDate); BankTrx normalTrx = trx as BankTrx; if (normalTrx != null) { if (Handler.IncludeNormalTrx(normalTrx)) { foreach (TrxSplit split in normalTrx.Splits) { if (Handler.IncludeSplit(split)) { if (split.Budget == null) { SplitDetailRow row = GetSplitDetailRow(split); row.Cells[period].Splits.Add(split); } else { BudgetDetailRow budgetRow = GetBudgetDetailRow(split.Budget); budgetRow.Cells[period].Splits.Add(split); } } } } } else { BudgetTrx budgetTrx = trx as BudgetTrx; if (budgetTrx != null) { if (Handler.IncludeBudgetTrx(budgetTrx)) { BudgetDetailRow row = GetBudgetDetailRow(budgetTrx); row.Cells[period].Budgets.Add(budgetTrx); } } } }
public override bool IncludeBudgetTrx(BudgetTrx budgetTrx) { return(true); }
private void ClearPendingSubtraction() { mBudgetToSubtractFrom = null; mAmountToSubtract = 0m; }
public BudgetDetailItemBuilder(BudgetTrx budget) { Budget = budget; }
public abstract bool IncludeBudgetTrx(BudgetTrx budgetTrx);