public void CanSetExpenseItem()
        {
            var expense   = new MonthlyCashStatementCategory(1, 10, "Gaz");
            var peExpense = new PESelectableExpenseItem(expense);

            Assert.AreEqual("Gaz", peExpense.ToString());
            Assert.AreSame(expense, peExpense.ExpenseItem);
        }
        public void Run()
        {
            var expenseItems = PESelectableExpenseItem.CreateListFrom(dataProvider);

            expense = new PEMonthlyExpense {
                Date         = DateTime.Today,
                Month        = DateTime.Today,
                ExpenseItems = expenseItems,
                ExpenseItem  = expenseItems.FirstOrDefault(),
                IsFinal      = false,
            };

            view.Text    = "Добавить трату по статье";
            view.Expense = expense;
            view.OnOK    = OnMonthlyExpenseEdited;

            view.Show();
        }
        public void Run(MonthlyCashStatement expense)
        {
            this.expense = expense;

            peExpense = new PEMonthlyExpense {
                ExpenseItem  = new PESelectableExpenseItem(expense.Category),
                ExpenseItems = PESelectableExpenseItem.CreateListFrom(dataProvider),
                Month        = expense.Month.GetDate(1),
                Date         = expense.Date,
                Amount       = expense.Amount.NegateIf(expense.Category.IsNegative),
                Description  = expense.Description,
                IsFinal      = expense.IsFinalPayment,
            };

            view.Text    = "Изменить трату по статье";
            view.Expense = peExpense;
            view.OnOK    = OnExpenseEdited;
            view.Show();
        }