public PrintJobViewModel( ISettingsProvider settingsProvider, ITranslationUpdater translationUpdater, IJobInfoQueue jobInfoQueue, ICommandLocator commandLocator, IEventAggregator eventAggregator, ISelectedProfileProvider selectedProfileProvider, ICurrentSettings <ObservableCollection <ConversionProfile> > profilesProvider, IGpoSettings gpoSettings, ITargetFilePathComposer targetFilePathComposer, IJobInfoManager jobInfoManager, IChangeJobCheckAndProceedCommandBuilder changeJobCheckAndProceedCommandBuilder, IBrowseFileCommandBuilder browseFileCommandBuilder, IDispatcher dispatcher, IJobDataUpdater jobDataUpdater) : base(translationUpdater) { GpoSettings = gpoSettings; _settingsProvider = settingsProvider; _commandLocator = commandLocator; _eventAggregator = eventAggregator; _selectedProfileProvider = selectedProfileProvider; _profilesProvider = profilesProvider; _targetFilePathComposer = targetFilePathComposer; _jobInfoManager = jobInfoManager; _changeJobCheckAndProceedCommandBuilder = changeJobCheckAndProceedCommandBuilder; _dispatcher = dispatcher; _jobDataUpdater = jobDataUpdater; _changeJobCheckAndProceedCommandBuilder.Init(() => Job, CallFinishInteraction, () => _lastConfirmedFilePath, s => _lastConfirmedFilePath = s); SetOutputFormatCommand = new DelegateCommand <OutputFormat>(SetOutputFormatExecute); browseFileCommandBuilder.Init(() => Job, UpdateUiForJobOutputFileTemplate, () => _lastConfirmedFilePath, s => _lastConfirmedFilePath = s); BrowseFileCommand = browseFileCommandBuilder.BuildCommand(); SetupEditProfileCommand(_commandLocator, eventAggregator); SetupSaveCommands(translationUpdater); EmailCommand = _changeJobCheckAndProceedCommandBuilder.BuildCommand(EnableEmailSettings); SetupSendDropDownCommands(translationUpdater); MergeCommand = new DelegateCommand(MergeExecute); var mergeAllAsyncCommand = new AsyncCommand(MergeAllExecuteAsync, o => jobInfoQueue.Count > 1); MergeDropDownCommands = new CommandCollection <PrintJobViewTranslation>(translationUpdater); MergeDropDownCommands.AddCommand(mergeAllAsyncCommand, t => t.MergeAll); CancelCommand = new DelegateCommand(CancelExecute); CancelDropDownCommands = new CommandCollection <PrintJobViewTranslation>(translationUpdater); CancelDropDownCommands.AddCommand(new DelegateCommand(CancelAllExecute, o => jobInfoQueue.Count > 1), t => t.CancelAll); DisableSaveTempOnlyCommand = new DelegateCommand(DisableSaveFileTemporary); jobInfoQueue.OnNewJobInfo += (sender, args) => UpdateNumberOfPrintJobsHint(jobInfoQueue.Count); _jobInfoQueue = jobInfoQueue; UpdateNumberOfPrintJobsHint(jobInfoQueue.Count); }
public void SetUp() { _pathUtil = Substitute.For <IPathUtil>(); _lastSaveDirectoryHelper = Substitute.For <ILastSaveDirectoryHelper>(); _targetFilePathComposer = new TargetFilePathComposer(_pathUtil, _lastSaveDirectoryHelper); _job = new Job(new JobInfo(), new ConversionProfile(), new Accounts()); }
public ConversionWorkflowTestFactory(IProfileChecker profileChecker, ITargetFilePathComposer targetFilePathComposer, IJobRunner jobRunner, IJobDataUpdater jobDataUpdater, AutosaveOutputFileMover outputFileMover, IJobEventsManager jobEventsManager) { _profileChecker = profileChecker; _targetFilePathComposer = targetFilePathComposer; _jobRunner = jobRunner; _jobDataUpdater = jobDataUpdater; _jobEventsManager = jobEventsManager; _outputFileMover = outputFileMover; }
public AutoSaveWorkflow(IJobDataUpdater jobDataUpdater, IJobRunner jobRunner, IProfileChecker profileChecker, ITargetFilePathComposer targetFilePathComposer, AutosaveOutputFileMover outputFileMover, INotificationService notificationService, IJobEventsManager jobEventsManager) { JobDataUpdater = jobDataUpdater; JobEventsManager = jobEventsManager; _jobRunner = jobRunner; _profileChecker = profileChecker; _targetFilePathComposer = targetFilePathComposer; _outputFileMover = outputFileMover; _notificationService = notificationService; }
private PrintJobViewModel BuildViewModel(bool saveDialogResult = true) { MockSaveFileDialog(saveDialogResult); var settingsProvider = Substitute.For <ISettingsProvider>(); settingsProvider.Settings.Returns(_settings); _targetFilePathComposer = Substitute.For <ITargetFilePathComposer>(); _targetFilePathComposer.ComposeTargetFilePath(Arg.Any <Job>()).ReturnsForAnyArgs(j => j.ArgAt <Job>(0).OutputFileTemplate); return(new PrintJobViewModel(settingsProvider, new TranslationUpdater(new TranslationFactory(), new ThreadManager()), _jobInfoQueue, _saveFileQuery, _interactionRequest, new DesignTimeCommandLocator(), null, null, null, null, _file, null, null, _directoryHelper, _interactiveProfileChecker, _targetFilePathComposer)); }
public InteractiveWorkflow(IShellManager shellManager, ITargetFilePathComposer targetFilePathComposer, IJobDataUpdater jobDataUpdater, IErrorNotifier errorNotifier, ISettingsProvider settingsProvider, ICommandLocator commandLocator, ILastSaveDirectoryHelper lastSaveDirectoryHelper, IDirectoryHelper directoryHelper, IInteractiveProfileChecker interactiveProfileChecker, IJobEventsManager jobEventsManager ) { _shellManager = shellManager; _errorNotifier = errorNotifier; _settingsProvider = settingsProvider; _commandLocator = commandLocator; _lastSaveDirectoryHelper = lastSaveDirectoryHelper; _directoryHelper = directoryHelper; _interactiveProfileChecker = interactiveProfileChecker; _targetFilePathComposer = targetFilePathComposer; JobDataUpdater = jobDataUpdater; JobEventsManager = jobEventsManager; _targetFilePathComposer = targetFilePathComposer; }
public void SetUp() { _jobInfo = new JobInfo { Metadata = new Metadata { Title = "Test" } }; _profile = new ConversionProfile(); _job = new Job(_jobInfo, _profile, new Accounts()); _job.OutputFiles.Add("X:\\test.pdf"); _profileChecker = Substitute.For <IProfileChecker>(); _profileChecker.CheckJob(Arg.Any <Job>()).Returns(_validActionResult); _query = Substitute.For <ITargetFilePathComposer>(); _jobRunner = Substitute.For <IJobRunner>(); _jobDataUpdater = Substitute.For <IJobDataUpdater>(); _jobEventsManager = Substitute.For <IJobEventsManager>(); _notificationService = Substitute.For <INotificationService>(); _workflow = new AutoSaveWorkflow(_jobDataUpdater, _jobRunner, _profileChecker, _query, null, _notificationService, _jobEventsManager); }
public PrintJobViewModel( ISettingsProvider settingsProvider, ITranslationUpdater translationUpdater, IJobInfoQueue jobInfoQueue, IFileNameQuery saveFileQuery, IInteractionRequest interactionRequest, ICommandLocator commandsLocator, IEventAggregator eventAggregator, ISelectedProfileProvider selectedProfileProvider, ICurrentSettings <ObservableCollection <ConversionProfile> > profilesProvider, ITempFolderProvider tempFolderProvider, IFile file, IGpoSettings gpoSettings, IDispatcher dispatcher, IDirectoryHelper directoryHelper, IInteractiveProfileChecker interactiveProfileChecker, ITargetFilePathComposer targetFilePathComposer) : base(translationUpdater) { GpoSettings = gpoSettings; _settingsProvider = settingsProvider; _saveFileQuery = saveFileQuery; _interactionRequest = interactionRequest; _selectedProfileProvider = selectedProfileProvider; _profilesProvider = profilesProvider; _file = file; _tempFolderProvider = tempFolderProvider; _dispatcher = dispatcher; _directoryHelper = directoryHelper; _interactiveProfileChecker = interactiveProfileChecker; _targetFilePathComposer = targetFilePathComposer; SaveCommand = new DelegateCommand(SaveExecute); SendByEmailCommand = new DelegateCommand(EmailExecute); MergeCommand = new DelegateCommand(MergeExecute); CancelCommand = new DelegateCommand(CancelExecute); SetOutputFormatCommand = new DelegateCommand <OutputFormat>(SetOutputFormatExecute); BrowseFileCommandAsync = new AsyncCommand(BrowseFileExecute); SetupEditProfileCommand(commandsLocator, eventAggregator); var settings = settingsProvider.Settings?.CopyAndPreserveApplicationSettings(); Profiles = settings?.ConversionProfiles; jobInfoQueue.OnNewJobInfo += (sender, args) => UpdateNumberOfPrintJobsHint(jobInfoQueue.Count); UpdateNumberOfPrintJobsHint(jobInfoQueue.Count); var profileListView = CollectionViewSource.GetDefaultView(Profiles); if (profileListView != null) { profileListView.CurrentChanged += (sender, args) => { if (Job != null) { OutputFormat = ((ConversionProfile)profileListView.CurrentItem).OutputFormat; } }; } }