public OperationsManagerViewModel( BusyIndicatorViewModel busyIndicator, IOperationsManager operationsManager, IImportManager importManager) { _busyIndicator = busyIndicator; _operationsManager = operationsManager; _importManager = importManager; BeginExportCommand = new RelayCommand(BeginExport); BeginDataQualityAnalysisCommand = new AsyncCommand(BeginDataQualityAnalysis); CommitExportCommand = new AsyncCommand(CommitExport); CommitPendingChangesCommand = new AsyncCommand(SaveChanges); _sfd = new SaveFileDialog { OverwritePrompt = true, Filter = "csv files (*.csv)|*.csv|All Files (*.*)|*.*" }; SelectTargetFileToExportCommand = new RelayCommand(SelectTargetFileToExport); MessengerInstance.Register <AccountViewModel>(this, OnAccountViewModelReceived); _asyncMessageReceiver = new AsyncMessageReceiver(MessengerInstance); _asyncMessageReceiver.RegisterAsync <AccountImportDataChanged>(this, data => ReplayImports(data.AccountId)); DateFilter = new DateRangeFilter(); NoteFilter = new TextFilter(); _anyFilter = new CompositeFilter(DateFilter, NoteFilter); _anyFilter.FilterInvalidated += OnAnyFilterInvalidated; ResetFilterCommad = new RelayCommand(() => _anyFilter.Reset(), () => IsFiltering); }