/// <summary> /// Matches the day of week mask. /// </summary> /// <param name="start">The start.</param> /// <param name="daysOfWeekMask">The days of week mask.</param> /// <returns></returns> protected static bool MatchDayOfWeekMask(DateTime start, RecurrenceDays daysOfWeekMask) { if (daysOfWeekMask == RecurrenceDays.None) { return(true); } return(daysOfWeekMask.HasDay(start.DayOfWeek.GetRecurrenceDay())); }
/// <summary> /// Gets the days of week. /// </summary> /// <param name="recurrenceDays">The recurrence days.</param> /// <returns></returns> public static IEnumerable <DayOfWeek> GetDaysOfWeek(this RecurrenceDays recurrenceDays) { var dayOfWeeks = new List <DayOfWeek>(); foreach (DayOfWeek dayOfWeek in Enum.GetValues(typeof(DayOfWeek))) { if (recurrenceDays.HasDay(dayOfWeek)) { dayOfWeeks.Add(dayOfWeek); } } dayOfWeeks.Sort(); return(dayOfWeeks); }
private static List <NameValueItem <RecurrenceDays> > CreateWeekDays( IScheduler scheduler, RecurrenceDays dayOfWeekMask) { var days = new List <NameValueItem <RecurrenceDays> >(); IDictionary <DayOfWeek, string> namesOfDays = CalendarHelper.GetNamesOfDays(scheduler.GetCultureInUse()); foreach ( DayOfWeek dayOfWeek in CalendarHelper.GetDaysOfWeekStartWithFirstDayOfWeek(scheduler.GetFirstDayOfWeekInUse())) { RecurrenceDays recurrenceDay = dayOfWeek.GetRecurrenceDay(); var day = new NameValueItem <RecurrenceDays>( recurrenceDay, namesOfDays[dayOfWeek], dayOfWeekMask.HasDay(recurrenceDay)); days.Add(day); } return(days); }
/// <summary> /// Determines whether the specified recurrence days has day. /// </summary> /// <param name="recurrenceDays">The recurrence days.</param> /// <param name="dayToCompare">The day to compare.</param> /// <returns> /// <c>true</c> if the specified recurrence days has day; otherwise, <c>false</c>. /// </returns> public static bool HasDay(this RecurrenceDays recurrenceDays, DayOfWeek dayToCompare) { RecurrenceDays recurrenceDayToCompare = dayToCompare.GetRecurrenceDay(); return(recurrenceDays.HasDay(recurrenceDayToCompare)); }
/// <summary> /// Matches the day of week mask. /// </summary> /// <param name="start">The start.</param> /// <param name="daysOfWeekMask">The days of week mask.</param> /// <returns></returns> protected static bool MatchDayOfWeekMask(DateTime start, RecurrenceDays daysOfWeekMask) { if (daysOfWeekMask == RecurrenceDays.None) { return true; } return daysOfWeekMask.HasDay(start.DayOfWeek.GetRecurrenceDay()); }