Click or drag to resize
WeeklyRecurrenceRule Class
Occurrences of this rule repeat on a weekly basis.
Inheritance Hierarchy
SystemObject
  Kettic.AspNet.ControlsRecurrenceRule
    Kettic.AspNet.ControlsWeeklyRecurrenceRule

Namespace: Kettic.AspNet.Controls
Assembly: Kettic.AspNet.Controls (in Kettic.AspNet.Controls.dll) Version: 2014.4.1129.0 (2014.04.1129.0)
Syntax
[SerializableAttribute]
public class WeeklyRecurrenceRule : RecurrenceRule

The WeeklyRecurrenceRule type exposes the following members.

Constructors
  NameDescription
Public methodWeeklyRecurrenceRule(Int32, RecurrenceDay, RecurrenceRange)
Initializes a new instance of WeeklyRecurrenceRule with the specified interval, days of week bit mask and RecurrenceRange.
Public methodWeeklyRecurrenceRule(Int32, RecurrenceDay, RecurrenceRange, DayOfWeek)
Initializes a new instance of WeeklyRecurrenceRule with the specified interval, days of week bit mask and RecurrenceRange.
Top
Properties
  NameDescription
Public propertyDaysOfWeekMask
Gets the bit mask that specifies the week days on which the event recurs.
Public propertyInterval
Gets the interval (in weeks) assigned to the current instance.
Top
Examples
using System;
using Kettic.AspNet.Controls;

namespace RecurrenceExamples
{
    class WeeklyRecurrenceRuleExample
    {
        static void Main()
        {
            // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour.
            Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"),
                Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment");

            // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment.
            RecurrenceRange range = new RecurrenceRange();
            range.Start = recurringAppointment.Start;
            range.EventDuration = recurringAppointment.End - recurringAppointment.Start;
            range.MaxOccurrences = 10;

            // Creates a recurrence rule to repeat the appointment every two weeks on Mondays and Tuesdays.
            RecurrenceDay mask = RecurrenceDay.Monday | RecurrenceDay.Tuesday;
            WeeklyRecurrenceRule rrule = new WeeklyRecurrenceRule(2, mask, range);

            Console.WriteLine("Appointment occurrs at the following times: ");
            int ix = 0;
            foreach (DateTime occurrence in rrule.Occurrences)
            {
                ix = ix + 1;
                Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek);
            }
        }
    }
}

/*
This example produces the following results:

Appointment occurrs at the following times:
 1: 6/4/2007 3:30:00 PM (Monday)
 2: 6/5/2007 3:30:00 PM (Tuesday)
 3: 6/18/2007 3:30:00 PM (Monday)
 4: 6/19/2007 3:30:00 PM (Tuesday)
 5: 7/2/2007 3:30:00 PM (Monday)
 6: 7/3/2007 3:30:00 PM (Tuesday)
 7: 7/16/2007 3:30:00 PM (Monday)
 8: 7/17/2007 3:30:00 PM (Tuesday)
 9: 7/30/2007 3:30:00 PM (Monday)
10: 7/31/2007 3:30:00 PM (Tuesday)*/
See Also