public void AddAppointment(AppointmentTransferData newAppointment) { appointments.Add(newAppointment); AppointmentChanged?.Invoke(this, new RawAppointmentChangedEventArgs(newAppointment, ChangeAction.Added)); CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add)); }
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)); }
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 })); }