Exemple #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;
 }
Exemple #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;
 }
Exemple #3
0
 /// <summary>
 /// Set a specific date range.
 /// </summary>
 /// <param name="startDate"></param>
 /// <param name="endDate"></param>
 public void SetToSpecificDateRange(DateTime?startDate, DateTime?endDate)
 {
     _Range             = TimePeriodRangeSpecifier.DateRange;
     _TimeUnit          = null;
     _NumberOfTimeUnits = null;
     _DateStart         = startDate;
     _DateEnd           = endDate;
 }
Exemple #4
0
 /// <summary>
 /// Set an unbounded range that includes all possible values.
 /// </summary>
 public void SetToUnboundedDateRange()
 {
     _Range             = TimePeriodRangeSpecifier.All;
     _TimeUnit          = null;
     _NumberOfTimeUnits = null;
     _DateStart         = null;
     _DateEnd           = null;
 }
Exemple #5
0
        /// <summary>
        /// Parse a delimited string and set the time period properties.
        /// The delimited string uses an identical format to the SlidingDateRangePicker.
        /// </summary>
        /// <param name="value">The value.</param>
        /// <param name="delimiter">The delimiter.</param>
        public void FromDelimitedString(string value, string delimiter = "|")
        {
            string[] splitValues = (value ?? string.Empty).SplitDelimitedValues(delimiter);

            if (splitValues.Length > 0)
            {
                _Range = splitValues[0].ConvertToEnumOrNull <TimePeriodRangeSpecifier>() ?? TimePeriodRangeSpecifier.All;
            }
            else
            {
                _Range = TimePeriodRangeSpecifier.All;
            }

            if (splitValues.Length > 1)
            {
                _NumberOfTimeUnits = splitValues[1].AsIntegerOrNull();
            }
            else
            {
                _NumberOfTimeUnits = null;
            }

            if (splitValues.Length > 2)
            {
                var timeUnit = splitValues[2].ConvertToEnumOrNull <TimePeriodUnitSpecifier>();

                _TimeUnit = timeUnit;
            }
            else
            {
                _TimeUnit = null;
            }

            if (splitValues.Length > 3)
            {
                _DateStart = splitValues[3].AsDateTime();
            }
            else
            {
                _DateStart = null;
            }

            if (splitValues.Length > 4)
            {
                _DateEnd = splitValues[4].AsDateTime();
            }
            else
            {
                _DateEnd = null;
            }
        }
Exemple #6
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);
 }