Пример #1
0
 /// <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;
 }
Пример #2
0
 /// <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;
 }
Пример #3
0
 /// <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);
 }
Пример #4
0
 /// <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);
 }
Пример #5
0
        /// <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);
        }