示例#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;
        }
        public SessionDataViewModel(ILogger logger,
                                    [NotNull] ISessionsFileUiManager sessionFileUiManager,
                                    [NotNull] ToastNotifications.Notifier notifier)
        {
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
            _sessionFileUiManager = sessionFileUiManager ?? throw new ArgumentNullException(nameof(sessionFileUiManager));

            _notifier = notifier;

            IsReadOnly = true;
        }