Exemple #1
0
        /// <summary>
        /// Gets the DayOfWeek from the given eDayOfWeekRecurrence 
        /// </summary>
        /// <param name="byDays"></param>
        /// <returns></returns>
        protected virtual DayOfWeek GetRelativeDayOfWeek(eDayOfWeekRecurrence byDays)
        {
            if ((byDays & eDayOfWeekRecurrence.Monday) != 0)
                return (DayOfWeek.Monday);

            if ((byDays & eDayOfWeekRecurrence.Tuesday) != 0)
                return (DayOfWeek.Tuesday);

            if ((byDays & eDayOfWeekRecurrence.Wednesday) != 0)
                return (DayOfWeek.Wednesday);

            if ((byDays & eDayOfWeekRecurrence.Thursday) != 0)
                return (DayOfWeek.Thursday);

            if ((byDays & eDayOfWeekRecurrence.Friday) != 0)
                return (DayOfWeek.Friday);

            if ((byDays & eDayOfWeekRecurrence.Saturday) != 0)
                return (DayOfWeek.Saturday);

            return (DayOfWeek.Sunday);
        }
Exemple #2
0
        /// <summary>
        /// AddRRuleByDay
        /// </summary>
        /// <param name="sb"></param>
        /// <param name="repeat"></param>
        private void AddRRuleByDay(StringBuilder sb, eDayOfWeekRecurrence repeat)
        {
            sb.Append(";BYDAY=");

            if ((repeat & eDayOfWeekRecurrence.Sunday) != 0)
                sb.Append("SU,");

            if ((repeat & eDayOfWeekRecurrence.Monday) != 0)
                sb.Append("MO,");

            if ((repeat & eDayOfWeekRecurrence.Tuesday) != 0)
                sb.Append("TU,");

            if ((repeat & eDayOfWeekRecurrence.Wednesday) != 0)
                sb.Append("WE,");

            if ((repeat & eDayOfWeekRecurrence.Thursday) != 0)
                sb.Append("TH,");

            if ((repeat & eDayOfWeekRecurrence.Friday) != 0)
                sb.Append("FR,");

            if ((repeat & eDayOfWeekRecurrence.Saturday) != 0)
                sb.Append("SA,");

            sb.Length--;
        }
        private int GetNumberOfDays(eDayOfWeekRecurrence daysOfWeek)
        {
            int days = 0;
            if ((daysOfWeek & eDayOfWeekRecurrence.Friday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Monday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Saturday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Sunday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Thursday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Tuesday) != 0)
                days++;
            if ((daysOfWeek & eDayOfWeekRecurrence.Wednesday) != 0)
                days++;

            return days;
        }
 private bool RepeatsOnSingleDayOnly(eDayOfWeekRecurrence dow)
 {
     return dow == eDayOfWeekRecurrence.Monday || dow == eDayOfWeekRecurrence.Tuesday ||
         dow == eDayOfWeekRecurrence.Wednesday || dow == eDayOfWeekRecurrence.Thursday ||
         dow == eDayOfWeekRecurrence.Friday || dow == eDayOfWeekRecurrence.Saturday || dow == eDayOfWeekRecurrence.Sunday;
 }
        public static int TotalNumberOfDays(DateTime startDate, DateTime endDate, eDayOfWeekRecurrence daysOfWeek)
        {
            int totalDays=0;
            if (daysOfWeek == eDayOfWeekRecurrence.All)
                return (int)Math.Ceiling(endDate.Subtract(startDate).TotalDays);

            if ((daysOfWeek & eDayOfWeekRecurrence.Friday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Friday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Monday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Monday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Saturday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Saturday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Sunday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Sunday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Thursday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Thursday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Tuesday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Tuesday);
            if ((daysOfWeek & eDayOfWeekRecurrence.Wednesday) != 0)
                totalDays += TotalDays(startDate, endDate, DayOfWeek.Wednesday);

            return totalDays;
        }
        internal static bool HasDay(DayOfWeek dayOfWeek, eDayOfWeekRecurrence days)
        {
            if (dayOfWeek == DayOfWeek.Monday && (days & eDayOfWeekRecurrence.Monday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Tuesday && (days & eDayOfWeekRecurrence.Tuesday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Wednesday && (days & eDayOfWeekRecurrence.Wednesday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Thursday && (days & eDayOfWeekRecurrence.Thursday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Friday && (days & eDayOfWeekRecurrence.Friday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Saturday && (days & eDayOfWeekRecurrence.Saturday) != 0) return true;
            if (dayOfWeek == DayOfWeek.Sunday && (days & eDayOfWeekRecurrence.Sunday) != 0) return true;

            return false;
        }
 private void OnRepeatOnDaysOfWeekChanged(eDayOfWeekRecurrence oldValue, eDayOfWeekRecurrence newValue)
 {
     OnPropertyChanged(new PropertyChangedEventArgs("RepeatOnDaysOfWeek"));
 }