public ChangeJobCheckAndProceedCommandBuilder(
     IInteractiveProfileChecker interactiveProfileChecker,
     IInteractiveFileExistsChecker interactiveFileExistsChecker)
 {
     _interactiveProfileChecker    = interactiveProfileChecker;
     _interactiveFileExistsChecker = interactiveFileExistsChecker;
 }
Пример #2
0
        public void Setup()
        {
            _settings           = new PdfCreatorSettings(null);
            _jobInfoQueue       = Substitute.For <IJobInfoQueue>();
            _interactionRequest = new UnitTestInteractionRequest();
            _file                      = Substitute.For <IFile>();
            _directoryHelper           = Substitute.For <IDirectoryHelper>();
            _interactiveProfileChecker = Substitute.For <IInteractiveProfileChecker>();

            _pdfProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Pdf,
                FileNameTemplate = "X:\\test.pdf",
                TargetDirectory  = "c:\\Test\\"
            };

            _pngProfile = new ConversionProfile
            {
                Name             = "PDF Profile",
                OutputFormat     = OutputFormat.Png,
                FileNameTemplate = "X:\\test.png",
                TargetDirectory  = "c:\\Test\\"
            };

            _settings.ConversionProfiles.Add(_pdfProfile);
            _settings.ConversionProfiles.Add(_pngProfile);
        }
        public ProceedWithChangedJobCommand(
            IInteractiveProfileChecker interactiveProfileChecker,
            IInteractiveFileExistsChecker interactiveFileExistsChecker,
            Func <Job> getJob,
            Action callFinishInteraction,
            Func <string> getLatestConfirmedPath,
            Action <string> setLatestConfirmedPath,
            Action <Job> changeJobAction,
            IMacroCommand preProcessingCommand = null)
        {
            _interactiveProfileChecker    = interactiveProfileChecker;
            _interactiveFileExistsChecker = interactiveFileExistsChecker;
            _getJob                = getJob;
            _changeJobAction       = changeJobAction;
            _callFinishInteraction = callFinishInteraction;

            _getLatestConfirmedPath = getLatestConfirmedPath;
            _setLatestConfirmedPath = setLatestConfirmedPath;
            _preProcessingCommand   = preProcessingCommand;
        }
Пример #4
0
        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;
        }
Пример #5
0
        public PrintJobViewModel(
            ISettingsProvider settingsProvider,
            ITranslationUpdater translationUpdater,
            IJobInfoQueue jobInfoQueue,
            IFileNameQuery saveFileQuery,
            IInteractionRequest interactionRequest,
            ICommandLocator commandsLocator,
            IEventAggregator eventAggregator,
            ISelectedProfileProvider selectedProfileProvider,
            ITempFolderProvider tempFolderProvider,
            IPathUtil pathUtil,
            IFile file,
            IGpoSettings gpoSettings,
            IDispatcher dispatcher,
            IDirectoryHelper directoryHelper,
            IInteractiveProfileChecker interactiveProfileChecker)
            : base(translationUpdater)
        {
            GpoSettings              = gpoSettings;
            _settingsProvider        = settingsProvider;
            _saveFileQuery           = saveFileQuery;
            _interactionRequest      = interactionRequest;
            _selectedProfileProvider = selectedProfileProvider;
            _file = file;
            _tempFolderProvider        = tempFolderProvider;
            _pathUtil                  = pathUtil;
            _dispatcher                = dispatcher;
            _directoryHelper           = directoryHelper;
            _interactiveProfileChecker = interactiveProfileChecker;

            SaveCommand            = new DelegateCommand(SaveExecute, CanExecute);
            SendByEmailCommand     = new DelegateCommand(EmailExecute);
            MergeCommand           = new DelegateCommand(MergeExecute);
            CancelCommand          = new DelegateCommand(CancelExecute);
            SetOutputFormatCommand = new DelegateCommand <OutputFormat>(SetOutputFormatExecute);
            BrowseFileCommand      = new DelegateCommand(BrowseFileExecute);

            _outputFormatHelper = new OutputFormatHelper();

            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;
                    }
                };
            }
        }