/// <summary> /// Get the recurrence values using an existing Series Info value and modified Occurrence Values. /// This is used to get a modified set of values where you want the occurrence count to be different. /// </summary> /// <param name="seriesInfo" type="string"> /// <para> /// The recurrence pattern series information. /// </para> /// </param> /// <param name="modifiedOccurrencesValue" type="int"> /// <para> /// Integer value of the modified occurrence count. /// </para> /// </param> /// <returns> /// A RecurrenceGenerator.RecurrenceValues value... /// </returns> public static RecurrenceValues GetRecurrenceValues(string seriesInfo, int modifiedOccurrencesValue) { RecurrenceSettings settings = null; switch (seriesInfo[0]) { case 'Y': // Yearly settings = YearlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedOccurrencesValue); break; case 'M': // Monthly settings = MonthlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedOccurrencesValue); break; case 'W': // Weekly settings = WeeklyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedOccurrencesValue); break; case 'D': // Daily settings = DailyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedOccurrencesValue); break; } // Return the RecurrenceValues return(settings.GetValues()); }
/// <summary> /// Get recurrence values using an existin Series Info value as well as a modified Start Date. /// </summary> /// <param name="modifiedStartDateValue"></param> /// <param name="seriesInfo"></param> /// <returns></returns> public static RecurrenceValues GetRecurrenceValues(DateTime modifiedStartDateValue, string seriesInfo) { RecurrenceSettings settings = null; switch (seriesInfo[0]) { case 'Y': // Yearly settings = YearlyRecurrenceSettings.GetRecurrenceSettings(modifiedStartDateValue, seriesInfo); break; case 'M': // Monthly settings = MonthlyRecurrenceSettings.GetRecurrenceSettings(modifiedStartDateValue, seriesInfo); break; case 'W': // Weekly settings = WeeklyRecurrenceSettings.GetRecurrenceSettings(modifiedStartDateValue, seriesInfo); break; case 'D': // Daily settings = DailyRecurrenceSettings.GetRecurrenceSettings(modifiedStartDateValue, seriesInfo); break; } // Return the RecurrenceValues return(settings.GetValues()); }
public static RecurrenceValues GetPostRecurrenceValues(string seriesInfo, int modifiedOccurrencesValue) { RecurrenceSettings settings = null; RecurrenceValues tempValues; DateTime lastDate; switch (seriesInfo.Substring(0, 1)) { case "Y": // Yearly settings = YearlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "M": // Monthly settings = MonthlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "W": // Weekly settings = WeeklyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "D": // Daily settings = DailyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; } // get the RecurrenceValues tempValues = settings.GetValues(); // Add one day to the last date so it now becomes the Start date past the last // date in the series lastDate = tempValues.LastDate.AddDays(1); return(settings.GetValues(lastDate, modifiedOccurrencesValue)); }
/// <summary> /// Get the next date in the series given the current date in the series /// and the series information /// </summary> /// <param name="currentDate" type="System.DateTime"> /// <para> /// The current date in the recurrence dates. This is the date just before /// the one you're trying to locate. /// </para> /// </param> /// <param name="seriesInfo" type="string"> /// <para> /// The recurrence pattern series information. /// </para> /// </param> /// <returns> /// The next date in the recurrence pattern as defined by the series /// information string. /// </returns> public static DateTime GetNextDate(System.DateTime currentDate, string seriesInfo) { RecurrenceSettings returnValues = null; switch (seriesInfo.Substring(0, 1)) { case "Y": // Yearly returnValues = YearlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "M": // Monthly returnValues = MonthlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "W": // Weekly returnValues = WeeklyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; case "D": // Daily returnValues = DailyRecurrenceSettings.GetRecurrenceSettings(seriesInfo); break; } // Return just the next date. The function "GetNextDate" is an abstract // method overriden in each of the RecurrenceSettings classes. return(returnValues.GetNextDate(currentDate)); }
public static RecurrenceValues GetRecurrenceValues(string seriesInfo, DateTime modifiedStartDateValue, DateTime modifiedEndDateValue) { RecurrenceSettings settings = null; switch (seriesInfo.Substring(0, 1)) { case "Y": // Yearly settings = YearlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedStartDateValue, modifiedEndDateValue); break; case "M": // Monthly settings = MonthlyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedStartDateValue, modifiedEndDateValue); break; case "W": // Weekly settings = WeeklyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedStartDateValue, modifiedEndDateValue); break; case "D": // Daily settings = DailyRecurrenceSettings.GetRecurrenceSettings(seriesInfo, modifiedStartDateValue, modifiedEndDateValue); break; } // Return the RecurrenceValues return(settings.GetValues()); }