コード例 #1
0
        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);
        }
コード例 #2
0
 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);
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
                    }
                }
            }
        }
コード例 #5
0
 public override bool IncludeBudgetTrx(BudgetTrx budgetTrx)
 {
     return(true);
 }
コード例 #6
0
 private void ClearPendingSubtraction()
 {
     mBudgetToSubtractFrom = null;
     mAmountToSubtract     = 0m;
 }
コード例 #7
0
 public BudgetDetailItemBuilder(BudgetTrx budget)
 {
     Budget = budget;
 }
コード例 #8
0
 public abstract bool IncludeBudgetTrx(BudgetTrx budgetTrx);