Microsoft.Azure.Commands.Scheduler.Utilities.SchedulerUtility.ToTimeSpan C# (CSharp) Method

ToTimeSpan() public static method

Converts RecurrencyFrequecy and Interval to TimeSpan.
public static ToTimeSpan ( RecurrenceFrequency frequency, int interval ) : System.TimeSpan
frequency RecurrenceFrequency RecurrenceFrequency.
interval int Interval.
return System.TimeSpan
        public static TimeSpan ToTimeSpan(RecurrenceFrequency frequency, int interval)
        {
            DateTime epoch = DateTime.MinValue;

            switch (frequency)
            {
                case RecurrenceFrequency.Minute:
                    return epoch.AddMinutes(interval).Subtract(epoch);
                case RecurrenceFrequency.Hour:
                    return epoch.AddHours(interval).Subtract(epoch);
                case RecurrenceFrequency.Day:
                    return epoch.AddDays(interval).Subtract(epoch);
                case RecurrenceFrequency.Week:
                    return epoch.AddWeeks(interval).Subtract(epoch);
                case RecurrenceFrequency.Month:
                    return epoch.AddMonths(interval).Subtract(epoch);
                default:
                    throw new InvalidOperationException("Unsupported recurrence frequency.");
            }
        }

Usage Example

Example #1
0
        /// <summary>
        /// Get max recurrence for the job collection.
        /// </summary>
        /// <param name="frequencyInput">Frequence specified via powershell.</param>
        /// <param name="intervalInput">Interval specified via powershell.</param>
        /// <param name="minRecurrenceQuota">Min reurrence quota.</param>
        /// <param name="errorMessage">Error message for invalid recurrence.</param>
        /// <returns>Maximum recurrence.</returns>
        private JobMaxRecurrence GetMaxRecurrence(string frequencyInput, int?intervalInput, TimeSpan minRecurrenceQuota, string errorMessage)
        {
            int interval = intervalInput.HasValue ? intervalInput.Value : minRecurrenceQuota.GetInterval();
            RecurrenceFrequency frequency = frequencyInput.GetValueOrDefaultEnum <RecurrenceFrequency>(defaultValue: minRecurrenceQuota.GetFrequency());

            TimeSpan recurrenceTimeSpan = SchedulerUtility.ToTimeSpan(frequency, interval);

            if (recurrenceTimeSpan < minRecurrenceQuota)
            {
                throw new PSArgumentException(string.Format(errorMessage, recurrenceTimeSpan, minRecurrenceQuota));
            }

            return(new JobMaxRecurrence(frequency, interval));
        }
All Usage Examples Of Microsoft.Azure.Commands.Scheduler.Utilities.SchedulerUtility::ToTimeSpan