public void Update(object sender, EventArgs eventArgs) { lock (_lockingObject) { _appointments = (List <Appointment>)sender; AppointmentsChangedEventHandler?.Invoke(_appointments, EventArgs.Empty); } }
public void RemoveAppointment(int appointmentId) { lock (_lockingObject) { _persistable.RemoveAppointment(appointmentId); Appointment appointment = _appointments.Find(appointment1 => appointment1.Id == appointmentId); _updateAppointmentNotification.AppointmentDeletedNotification(appointment); _appointments.Remove(appointment); } AppointmentsChangedEventHandler?.Invoke(appointmentId, EventArgs.Empty); }
public void CreateAndAddAppointment(DateTime dateAndTime, Room room, List <User> users, AppointmentType appointmentType, string note, TimeSpan notificationTime, bool emailNotification, bool smsNotification) { lock (_lockingObject) { Appointment tempAppointment = CreateAppointment(dateAndTime, users, appointmentType, room, note, notificationTime, emailNotification, smsNotification); AddAppointment(tempAppointment); _updateAppointmentNotification.AppointmentCreatedNotification(tempAppointment); _persistable.SaveAppointment(dateAndTime, room, users, appointmentType, note, notificationTime, emailNotification, smsNotification); AppointmentsChangedEventHandler?.Invoke(tempAppointment, EventArgs.Empty); } }
public void EditAppointment(AppointmentView appointmentView) { lock (_lockingObject) { Appointment appointment = new Appointment(appointmentView.Id, appointmentView.DateAndTime, appointmentView.Note, appointmentView.NotificationTime, appointmentView.EmailNotification, appointmentView.SMSNotification); Appointment tempAppointment = _appointments.Find(appointmentOne => appointmentOne.Id == appointmentView.Id); tempAppointment.DateAndTime = appointmentView.DateAndTime; tempAppointment.Note = appointmentView.Note; tempAppointment.EmailNotification = appointment.EmailNotification; tempAppointment.SmsNotification = appointment.SmsNotification; tempAppointment.NotificationTime = appointment.NotificationTime; _updateAppointmentNotification.AppointmentUpdatedNotification(tempAppointment); _persistable.EditAppointment(tempAppointment); AppointmentsChangedEventHandler?.Invoke(appointment, EventArgs.Empty); } }