Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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));
        }