Exemple #1
0
        private void simpleButton5_Click(object sender, EventArgs e)
        {
            listBoxControl1.Items.Clear();
            MonthlyRecurrenceSettings mo     = new MonthlyRecurrenceSettings(dateEdit1.DateTime, dtEndDate.DateTime);
            RecurrenceValues          values = mo.GetValues(Convert.ToInt32(txtDayofMonth.Text), Convert.ToInt32(txtEveryXMonths.Text));

            foreach (DateTime dt in values.Values)
            {
                listBoxControl1.Items.Add(dt);
            }
            textEdit1.Text = values.Values.Count.ToString();
            txtStart.Text  = values.StartDate.ToString();
            txtEnd.Text    = values.EndDate.ToString();
        }
Exemple #2
0
        private static void CalculateRecurrenceEnd(this Appointment appt)
        {
            Recurrence recur = appt.Recurrence;

            int      occurrences = recur.EndCount;
            DateTime start       = appt.StartDate;

            RecurrenceValues values = null;

            if (recur.Type == RepeatType.Daily)
            {
                DailyRecurrenceSettings daily = new DailyRecurrenceSettings(start, occurrences);

                if (recur.Day != "-1")
                {
                    values = daily.GetValues(int.Parse(recur.Day), DailyRegenType.OnEveryXDays);
                }
                else
                {
                    values = daily.GetValues(1, DailyRegenType.OnEveryWeekday);
                }

                recur.EndCount = daily.NumberOfOccurrences;
            }
            else if (recur.Type == RepeatType.Weekly)
            {
                WeeklyRecurrenceSettings weekly = new WeeklyRecurrenceSettings(start, occurrences);

                SelectedDayOfWeekValues sdwv = new SelectedDayOfWeekValues();
                sdwv.Sunday    = recur.Day.IndexOf('0') != -1;
                sdwv.Monday    = recur.Day.IndexOf('1') != -1;
                sdwv.Tuesday   = recur.Day.IndexOf('2') != -1;
                sdwv.Wednesday = recur.Day.IndexOf('3') != -1;
                sdwv.Thursday  = recur.Day.IndexOf('4') != -1;
                sdwv.Friday    = recur.Day.IndexOf('5') != -1;
                sdwv.Saturday  = recur.Day.IndexOf('6') != -1;

                values = weekly.GetValues(recur.Week, sdwv);

                recur.EndCount = weekly.NumberOfOccurrences;
            }
            else if (recur.Type == RepeatType.Monthly)
            {
                MonthlyRecurrenceSettings monthly = new MonthlyRecurrenceSettings(start, occurrences);

                if (recur.Week == -1)
                {
                    values = monthly.GetValues(int.Parse(recur.Day), recur.Month);
                }
                else
                {
                    values = monthly.GetValues((MonthlySpecificDatePartOne)recur.Week, (MonthlySpecificDatePartTwo)int.Parse(recur.Day), recur.Month);
                }

                recur.EndCount = monthly.NumberOfOccurrences;
            }
            else if (recur.Type == RepeatType.Yearly)
            {
                YearlyRecurrenceSettings yearly = new YearlyRecurrenceSettings(start, occurrences);

                if (recur.Week == -1)
                {
                    values = yearly.GetValues(int.Parse(recur.Day), recur.Month + 1, recur.Year);
                }
                else
                {
                    values = yearly.GetValues((YearlySpecificDatePartOne)recur.Week, (YearlySpecificDatePartTwo)int.Parse(recur.Day), (YearlySpecificDatePartThree)(recur.Month + 1), recur.Year);
                }

                recur.EndCount = yearly.NumberOfOccurrences;
            }

            recur.EndDate = values.EndDate;
        }