var filteredAppointments = new ObservableCollection<Appointment>();
foreach (Appointment App in this.webData)
{
if (App.RecurrenceRule == null && ((this.visibleDates.First() <= App.StartTime.Date && this.visibleDates.Last() >= App.StartTime.Date) ||
(this.visibleDates.First() <= App.EndTime.Date && this.visibleDates.Last() >= App.EndTime.Date)))
{
filteredAppointments.Add(App);
}
else
{
if (App.RecurrenceRule != null)
{
var dateTimeCollection = ScheduleHelper.GetRecurrenceDateTimeCollection(App.RecurrenceRule, App.StartTime, this.visibleDates.First(), this.visibleDates.Last());
if (dateTimeCollection != null && dateTimeCollection.Any())
{
filteredAppointments.Add(App);
}
}
}
}
this.Appointments = filteredAppointments; |