public SessionsViewModel( ISessionsService sessionsService, IPatientsService patientsService, [NotNull] ILogger logger, [NotNull] ToastNotifications.Notifier notifier, [NotNull] SessionAddedEventHandler sessionAddedEventHandler, [NotNull] SessionChangedEventHandler sessionChangedEventHandler, [NotNull] SessionDeletedEventHandler sessionDeletedEventHandler, [NotNull] ISessionsFileUiManager sessionFileManager) { _sessionsService = sessionsService ?? throw new ArgumentNullException(nameof(sessionsService)); _patientsService = patientsService; _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _notifier = notifier; _sessionAddedEventHandler = sessionAddedEventHandler ?? throw new ArgumentNullException(nameof(sessionAddedEventHandler)); _sessionChangedEventHandler = sessionChangedEventHandler ?? throw new ArgumentNullException(nameof(sessionChangedEventHandler)); _sessionDeletedEventHandler = sessionDeletedEventHandler ?? throw new ArgumentNullException(nameof(sessionDeletedEventHandler)); _sessionFileManager = sessionFileManager; _sessionAddedEventHandler.SessionAdded += delegate { _isSessionListChanged = true; }; _sessionChangedEventHandler.SessionChanged += delegate { _isSessionListChanged = true; }; _sessionDeletedEventHandler.SessionDeleted += delegate { _isSessionListChanged = true; }; _isSessionListChanged = false; }
private void CollectionChanged(object sender, CollectionChangedEventArgs e) { if (!this.GetHasPendingChange()) { this.SetHasPendingChange(); } SessionChangedEventHandler sessionChanged = this.SessionChanged; if (sessionChanged == null) { return; } sessionChanged(sender, new SessionChangedEventArgs(this)); }