/// <summary> /// Set a current period. /// </summary> /// <param name="unit"></param> public void SetToCurrentPeriod(TimePeriodUnitSpecifier unit) { _Range = TimePeriodRangeSpecifier.Current; _TimeUnit = unit; _NumberOfTimeUnits = null; _DateStart = null; _DateEnd = null; }
/// <summary> /// Set a period relative to the current date. /// </summary> /// <param name="range"></param> /// <param name="unit"></param> /// <param name="numberOfTimeUnits"></param> public void SetToRelativePeriod(TimePeriodRangeSpecifier range, TimePeriodUnitSpecifier unit, int numberOfTimeUnits) { _Range = range; _TimeUnit = unit; _NumberOfTimeUnits = numberOfTimeUnits; _DateStart = null; _DateEnd = null; }
/// <summary> /// Initializes a new instance of the <see cref="TimePeriod"/> class. /// </summary> /// <param name="unit">The unit.</param> public TimePeriod(TimePeriodUnitSpecifier unit) { this.SetToCurrentPeriod(unit); }
/// <summary> /// Initializes a new instance of the <see cref="TimePeriod"/> class. /// </summary> /// <param name="range">The range.</param> /// <param name="unit">The unit.</param> /// <param name="numberOfTimeUnits">The number of time units.</param> public TimePeriod(TimePeriodRangeSpecifier range, TimePeriodUnitSpecifier unit, int numberOfTimeUnits) { this.SetToRelativePeriod(range, unit, numberOfTimeUnits); }
/// <summary> /// Determines if a DateTime is equal to a specified degree of accuracy. /// </summary> /// <param name="firstDate"></param> /// <param name="secondDate"></param> /// <param name="unitOfAccuracy"></param> /// <returns></returns> private bool DateTimeIsEqual(DateTime?firstDate, DateTime?secondDate, TimePeriodUnitSpecifier unitOfAccuracy) { if (firstDate == null && secondDate == null) { return(true); } if (firstDate == null || secondDate == null) { return(false); } var first = firstDate.Value; var second = secondDate.Value; if (first.Year != second.Year) { return(false); } if (unitOfAccuracy == TimePeriodUnitSpecifier.Year) { return(true); } if (first.Month != second.Month) { return(false); } if (unitOfAccuracy == TimePeriodUnitSpecifier.Month) { return(true); } if (first.GetWeekOfYear(System.Globalization.CalendarWeekRule.FirstDay, RockDateTime.FirstDayOfWeek) != second.GetWeekOfYear(System.Globalization.CalendarWeekRule.FirstDay, RockDateTime.FirstDayOfWeek)) { return(false); } if (unitOfAccuracy == TimePeriodUnitSpecifier.Week) { return(true); } if (first.Day != second.Day) { return(false); } if (unitOfAccuracy == TimePeriodUnitSpecifier.Day) { return(true); } if (first.Hour != second.Hour) { return(false); } return(true); }