/// <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));
}