private PrintJobViewModel CreateMockedPrintJobViewModel(IJobInfoQueue jobInfoQueue, JobInfo jobInfo, string applicationName = "PDFCreator") { var appSettings = new ApplicationSettings(); var profiles = new List <ConversionProfile>(); var selectedProfile = new ConversionProfile(); profiles.Add(selectedProfile); var interaction = new PrintJobInteraction(jobInfo, selectedProfile); var settings = new PdfCreatorSettings(MockRepository.GenerateStub <IStorage>()); settings.ApplicationSettings = appSettings; settings.ConversionProfiles = profiles; var settingsHelper = Substitute.For <ISettingsProvider>(); settingsHelper.Settings.Returns(settings); var settingsManager = Substitute.For <ISettingsManager>(); settingsManager.GetSettingsProvider().Returns(settingsHelper); var translator = new TranslationFactory(); var userGuideHelper = Substitute.For <IUserGuideHelper>(); var printJobViewModel = new PrintJobViewModel(settingsManager, jobInfoQueue, new PrintJobViewModelTranslation(), new DragAndDropEventHandler(MockRepository.GenerateStub <IFileConversionHandler>()), MockRepository.GenerateStub <IInteractionInvoker>(), userGuideHelper, new ApplicationNameProvider(applicationName), new InvokeImmediatelyDispatcher()); printJobViewModel.SetInteraction(interaction); printJobViewModel.FinishInteraction = () => { }; return(printJobViewModel); }
private PrintJobViewModel BuildViewModel(ApplicationSettings appSettings, IList <ConversionProfile> profiles, IJobInfoQueue queue, ConversionProfile preselectedProfile = null) { var settings = new PdfCreatorSettings(MockRepository.GenerateStub <IStorage>()); settings.ApplicationSettings = appSettings; settings.ConversionProfiles = profiles; var settingsHelper = Substitute.For <ISettingsProvider>(); settingsHelper.Settings.Returns(settings); var settingsManager = Substitute.For <ISettingsManager>(); settingsManager.GetSettingsProvider().Returns(settingsHelper); var userGuideHelper = Substitute.For <IUserGuideHelper>(); var printJobViewModel = new PrintJobViewModel(settingsManager, queue, new PrintJobViewModelTranslation(), new DragAndDropEventHandler(Substitute.For <IFileConversionHandler>()), MockRepository.GenerateStub <IInteractionInvoker>(), userGuideHelper, new ApplicationNameProvider("PDFCreator"), new InvokeImmediatelyDispatcher()); var interaction = new PrintJobInteraction(null, preselectedProfile); var interactionHelper = new InteractionHelper <PrintJobInteraction>(printJobViewModel, interaction); return(printJobViewModel); }
private void ShowPrintDialog(Job job) { if (job.Profile.SkipPrintDialog) { return; } var interaction = new PrintJobInteraction(job.JobInfo, job.Profile); _interactionInvoker.Invoke(interaction); if (interaction.PrintJobAction == PrintJobAction.Cancel) { throw new AbortWorkflowException("Cancelled the PrintJob dialog."); } if (interaction.PrintJobAction == PrintJobAction.ManagePrintJobs) { throw new ManagePrintJobsException(); } job.Profile = interaction.Profile.Copy(); _jobDataUpdater.UpdateTokensAndMetadata(job); if (interaction.PrintJobAction != PrintJobAction.EMail) { return; } job.SkipSaveFileDialog = true; job.Profile.EmailClientSettings.Enabled = true; job.Profile.AutoSave.Enabled = false; job.Profile.OpenViewer = false; }