public TrayViewModel(
            [NotNull] ILog logger,
            [NotNull] IActivityProcessor activityProcessor,
            [NotNull] IReportSerializer reportSerializer,
            Func <TimeInfoViewModel> timeInfoViewModelFactory,
            [NotNull] IWindowFactory <ITimeInfoWindow> timeInfoWindowFactory)
        {
            _activityProcessor        = activityProcessor ?? throw new ArgumentNullException(nameof(activityProcessor));
            _reportSerializer         = reportSerializer ?? throw new ArgumentNullException(nameof(reportSerializer));
            _timeInfoViewModelFactory = timeInfoViewModelFactory;
            _timeInfoWindowFactory    = timeInfoWindowFactory;
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            SaveReportCommand         = new CorrelationCommand(SaveReport);
            ToolTipOpenCommand        = new CorrelationCommand(ToolTipOpen);
            ToolTipCloseCommand       = new CorrelationCommand(ToolTipClose);
            ExitCommand               = new CorrelationCommand(Exit);
            OpenSettingsFolderCommand = new CorrelationCommand(OpenSettingsFolder);
            ViewLogsCommand           = new CorrelationCommand(ViewLogs);
            EditPeriodsCommand        = new AsyncCorrelationCommand(EditPeriodsAsync);
        }
Exemplo n.º 2
0
        protected IRefreshableCommand AddCommand <T>(Func <T, Task> executeFunc, Predicate <T>?canExecuteFunc = null)
        {
            var tempCmd = new AsyncCorrelationCommand <T>(_commandManager, executeFunc, canExecuteFunc);

            return(AddCommandToList(tempCmd));
        }