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); }
public Quarter AddQuarters(int count) { int year; YearQuarter quarter; TimeTool.AddQuarter(BaseYear, StartQuarter, count, out year, out quarter); return(new Quarter(year, quarter, Calendar)); }
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); }
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)); }
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); }
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); }