} // Clear // ---------------------------------------------------------------------- private void SelectPeriod(PeriodSelectType periodSelectType) { int offset = 0; switch (periodSelectType) { case PeriodSelectType.Previous: offset = -1; break; case PeriodSelectType.Current: ResetWorkingPeriod(); return; case PeriodSelectType.Next: offset = 1; break; } switch (WorkingTimePeriod) { case TimePeriodMode.Year: Year year = new Year(WorkingPeriodStartDate); SetWorkingPeriod(year.AddYears(offset)); break; case TimePeriodMode.Halfyear: Halfyear halfyear = new Halfyear(WorkingPeriodStartDate); SetWorkingPeriod(halfyear.AddHalfyears(offset)); break; case TimePeriodMode.Quarter: Quarter quarter = new Quarter(WorkingPeriodStartDate); SetWorkingPeriod(quarter.AddQuarters(offset)); break; case TimePeriodMode.Month: Month month = new Month(WorkingPeriodStartDate); SetWorkingPeriod(month.AddMonths(offset)); break; case TimePeriodMode.Week: Week week = new Week(WorkingPeriodStartDate); SetWorkingPeriod(week.AddWeeks(offset)); break; case TimePeriodMode.Day: Day day = new Day(WorkingPeriodStartDate); SetWorkingPeriod(day.AddDays(offset)); break; } } // SelectPeriod
public void AddHalfyearsTest() { int currentYear = ClockProxy.Clock.Now.Year; const YearMonth yearStartMonth = YearMonth.April; TimeCalendar calendar = TimeCalendar.New(TimeSpan.Zero, TimeSpan.Zero, yearStartMonth); DateTime calendarStartDate = new DateTime(currentYear, 4, 1); Halfyear calendarHalfyear = new Halfyear(currentYear, YearHalfyear.First, calendar); Assert.Equal(calendarHalfyear.AddHalfyears(0), calendarHalfyear); Halfyear prevH1 = calendarHalfyear.AddHalfyears(-1); Assert.Equal(YearHalfyear.Second, prevH1.YearHalfyear); Assert.Equal(prevH1.BaseYear, currentYear - 1); Assert.Equal(prevH1.Start, calendarStartDate.AddMonths(-6)); Assert.Equal(prevH1.End, calendarStartDate); Halfyear prevH2 = calendarHalfyear.AddHalfyears(-2); Assert.Equal(YearHalfyear.First, prevH2.YearHalfyear); Assert.Equal(prevH2.BaseYear, currentYear - 1); Assert.Equal(prevH2.Start, calendarStartDate.AddMonths(-12)); Assert.Equal(prevH2.End, calendarStartDate.AddMonths(-6)); Halfyear prevH3 = calendarHalfyear.AddHalfyears(-3); Assert.Equal(YearHalfyear.Second, prevH3.YearHalfyear); Assert.Equal(prevH3.BaseYear, currentYear - 2); Assert.Equal(prevH3.Start, calendarStartDate.AddMonths(-18)); Assert.Equal(prevH3.End, calendarStartDate.AddMonths(-12)); Halfyear futureH1 = calendarHalfyear.AddHalfyears(1); Assert.Equal(YearHalfyear.Second, futureH1.YearHalfyear); Assert.Equal(futureH1.BaseYear, currentYear); Assert.Equal(futureH1.Start, calendarStartDate.AddMonths(6)); Assert.Equal(futureH1.End, calendarStartDate.AddMonths(12)); Halfyear futureH2 = calendarHalfyear.AddHalfyears(2); Assert.Equal(YearHalfyear.First, futureH2.YearHalfyear); Assert.Equal(futureH2.BaseYear, currentYear + 1); Assert.Equal(futureH2.Start, calendarStartDate.AddMonths(12)); Assert.Equal(futureH2.End, calendarStartDate.AddMonths(18)); Halfyear futureH3 = calendarHalfyear.AddHalfyears(3); Assert.Equal(YearHalfyear.Second, futureH3.YearHalfyear); Assert.Equal(futureH3.BaseYear, currentYear + 1); Assert.Equal(futureH3.Start, calendarStartDate.AddMonths(18)); Assert.Equal(futureH3.End, calendarStartDate.AddMonths(24)); } // AddHalfyearsTest