Esempio n. 1
0
        }         // 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
Esempio n. 2
0
        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