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(); }
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; }