示例#1
0
 protected QuarterTimeRange(int startYear, YearQuarter startQuarter, int quarterCount, ITimeCalendar calendar) :
     base(GetPeriodOf(calendar, startYear, startQuarter, quarterCount), calendar)
 {
     this._startYear   = startYear;
     this.StartQuarter = startQuarter;
     this.QuarterCount = quarterCount;
     TimeTool.AddQuarter(startYear, startQuarter, quarterCount - 1, out _endYear, out _endQuarter);
 }
示例#2
0
        public Quarter AddQuarters(int count)
        {
            int         year;
            YearQuarter quarter;

            TimeTool.AddQuarter(BaseYear, StartQuarter, count, out year, out quarter);
            return(new Quarter(year, quarter, Calendar));
        }
示例#3
0
        public ITimePeriodCollection GetQuarters()
        {
            TimePeriodCollection quarters = new TimePeriodCollection();

            for (int i = 0; i < QuarterCount; i++)
            {
                int         year;
                YearQuarter quarter;
                TimeTool.AddQuarter(BaseYear, StartQuarter, i, out year, out quarter);
                quarters.Add(new Quarter(year, quarter, Calendar));
            }
            return(quarters);
        }
示例#4
0
        private static TimeRange GetPeriodOf(ITimeCalendar calendar, int startYear, YearQuarter startQuarter, int quarterCount)
        {
            if (quarterCount < 1)
            {
                throw new ArgumentOutOfRangeException("quarterCount");
            }
            DateTime    start = GetStartOfQuarter(calendar, startYear, startQuarter);
            int         endYear;
            YearQuarter endQuarter;

            TimeTool.AddQuarter(startYear, startQuarter, quarterCount, out endYear, out endQuarter);
            DateTime end = GetStartOfQuarter(calendar, endYear, endQuarter);

            return(new TimeRange(start, end));
        }
示例#5
0
        public ITimePeriodCollection GetQuarters()
        {
            TimePeriodCollection quarters = new TimePeriodCollection();

            for (int i = 0; i < YearCount; i++)
            {
                for (int quarter = 0; quarter < TimeSpec.QuartersPerYear; quarter++)
                {
                    int         year;
                    YearQuarter yearQuarter;
                    TimeTool.AddQuarter(_startYear, YearQuarter.First, (i * TimeSpec.QuartersPerYear) + quarter, out year, out yearQuarter);
                    quarters.Add(new Quarter(year, yearQuarter, Calendar));
                }
            }
            return(quarters);
        }
示例#6
0
        public ITimePeriodCollection GetQuarters()
        {
            TimePeriodCollection quarters     = new TimePeriodCollection();
            YearQuarter          startQuarter = StartHalfyear == YearHalfyear.First ? YearQuarter.First : YearQuarter.Third;

            for (int i = 0; i < halfyearCount; i++)
            {
                for (int quarter = 0; quarter < TimeSpec.QuartersPerHalfyear; quarter++)
                {
                    int         year;
                    YearQuarter yearQuarter;
                    TimeTool.AddQuarter(startYear, startQuarter, (i * TimeSpec.QuartersPerHalfyear) + quarter, out year, out yearQuarter);
                    quarters.Add(new Quarter(year, yearQuarter, Calendar));
                }
            }
            return(quarters);
        }