private string Num_months_question(BudgetingMonths budgeting_months, string item)
        {
            var months = budgeting_months.Num_budgeting_months();
            var start  = budgeting_months.Budgeting_start_date().ToString("MMM", CultureInfo.CurrentCulture);
            var end    = budgeting_months.Budgeting_end_date().ToString("MMM", CultureInfo.CurrentCulture);

            return($"You're budgeting for {months} months, {start} til {end}. How many months of {item} do you want to budget for?");
        }
示例#2
0
        public void Update_owed_CHB(BudgetingMonths budgeting_months)
        {
            var num_months     = budgeting_months.Num_budgeting_months();
            var base_amount    = _spreadsheet_io.Get_amount(MainSheetNames.Budget_out, Codes.Code003);
            var current_amount = _spreadsheet_io.Get_amount(MainSheetNames.Expected_out, Codes.Code003, 2);
            var new_amount     = current_amount + (base_amount * num_months);
            var total_months   = (current_amount / base_amount) + num_months;

            _spreadsheet_io.Update_amount(MainSheetNames.Expected_out, Codes.Code003, new_amount);

            var text = _spreadsheet_io.Get_text(MainSheetNames.Expected_out, Codes.Code003);

            if (!String.IsNullOrEmpty(text))
            {
                var begin_text  = text.Substring(0, text.Length - 31);
                var month_total = String.Format("{0:00}", total_months);
                var start_date  = text.Substring(text.Length - 21, 8);
                var end_month   = budgeting_months.Budgeting_end_date().ToString("MMM", CultureInfo.CurrentCulture);
                var end_year    = budgeting_months.Budgeting_end_date().Year;
                text = $"{begin_text}{month_total} months {start_date} to {end_month} {end_year})";
                _spreadsheet_io.Update_text(MainSheetNames.Expected_out, Codes.Code003, text);
            }
        }
示例#3
0
        public Weeks Decide_num_weeks(string context_description, BudgetingMonths budgeting_months)
        {
            var start_date = Find_previous_Saturday(_clock.Today_date_time());

            start_date = Decide_date(start_date, "Saturday", context_description, "start");

            var end_date = budgeting_months.Budgeting_end_date().AddMonths(1).AddDays(-1);

            if (end_date.DayOfWeek != DayOfWeek.Friday)
            {
                end_date = Find_previous_Friday(end_date);
                end_date = Decide_date(end_date, "Friday", context_description, "end");
            }

            return(new Weeks
            {
                NumWeeks = Num_weeks_between_dates(start_date, end_date),
                FirstSaturday = start_date
            });
        }
示例#4
0
        public void Will_calculate_budgeting_end_date_using_budgeting_start_date_and_num_budgeting_months(
            int next_unplanned_month,
            int last_month_for_budget_planning,
            int start_year,
            int expected_month,
            int expected_year)
        {
            // Arrange
            var budgeting_months = new BudgetingMonths
            {
                Next_unplanned_month           = next_unplanned_month,
                Last_month_for_budget_planning = last_month_for_budget_planning,
                Start_year = start_year
            };

            // Act
            var result = budgeting_months.Budgeting_end_date();

            // Assert
            Assert.AreEqual(result.Month, expected_month);
            Assert.AreEqual(result.Year, expected_year);
        }