Exemplo n.º 1
0
        /// <summary>
        /// Ereignisbehandlung, tritt ein, wenn die Terminliste verändert wurde
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnAppointmentCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                foreach (var appointment in e.NewItems.Cast <CalendarAppointment>())
                {
                    CalendarDay day = null;
                    if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day))
                    {
                        day.AddAppointment(appointment);
                    }
                }
                break;

            case NotifyCollectionChangedAction.Remove:
                foreach (var appointment in e.OldItems.Cast <CalendarAppointment>())
                {
                    CalendarDay day = null;
                    if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day))
                    {
                        day.RemoveAppointment(appointment);
                    }
                }
                break;

            case NotifyCollectionChangedAction.Reset:
                foreach (var day in this.displayedDays.Values)
                {
                    day.ClearAppointments();
                }
                break;
            }
        }
Exemplo n.º 2
0
        private void ApplyAppointments()
        {
            foreach (var day in this.displayedDays.Values)
            {
                day.ClearAppointments();
            }

            if (this.Appointments != null)
            {
                foreach (var appointment in this.Appointments)
                {
                    CalendarDay day = null;

                    if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day))
                    {
                        day.AddAppointment(appointment);
                    }
                }
            }
        }