Example #1
0
        public void AddAppointment(AppointmentTransferData newAppointment)
        {
            appointments.Add(newAppointment);

            AppointmentChanged?.Invoke(this, new RawAppointmentChangedEventArgs(newAppointment, ChangeAction.Added));
            CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add));
        }
Example #2
0
        public void DeleteAppointment(Guid removedAppointmentId)
        {
            var appointmentToRemove = GetAppointmentById(removedAppointmentId);

            appointments.Remove(appointmentToRemove);

            AppointmentChanged?.Invoke(this, new RawAppointmentChangedEventArgs(appointmentToRemove, ChangeAction.Deleted));
            CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove));
        }
Example #3
0
        public void ReplaceAppointment(AppointmentTransferData updatedAppointment)
        {
            var appointmentToRemove = GetAppointmentById(updatedAppointment.Id);

            appointments.Remove(appointmentToRemove);

            appointments.Add(updatedAppointment);

            AppointmentChanged?.Invoke(this, new RawAppointmentChangedEventArgs(updatedAppointment, ChangeAction.Modified));
            CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace,
                                                                                 new List <AppointmentTransferData> {
                appointmentToRemove
            },
                                                                                 new List <AppointmentTransferData> {
                updatedAppointment
            }));
        }