/// <summary> /// Creates and returns a <see cref="PluginConfigurationData" /> instance containing the /// configuration data from this control. /// </summary> /// <returns>The configuration data.</returns> public PluginConfigurationData GetConfiguration() { CopyData data = new CopyData() { Color = _options.Color, PageCount = (int)pageCount_NumericUpDown.Value, Copies = _options.Copies, QuickSetName = quickSet_TextBox.Text, UseQuickset = quickSet_RadioButton.Checked, LaunchQuicksetFromApp = launchFromApp_RadioButton.Checked, Options = _options, ApplicationAuthentication = radioButton_Copy.Checked, AuthProvider = (AuthenticationProvider)comboBox_AuthProvider.SelectedValue, PrintJobSeparator = jobseparator_checkBox.Checked }; data.LockTimeouts = lockTimeoutControl.Value; return(new PluginConfigurationData(data, Version) { Assets = assetSelectionControl.AssetSelectionData, Documents = assetSelectionControl.AdfDocuments, PrintQueues = new PrintQueueSelectionData(_printQueues) }); }
public XElement Convert(XElement xml) { CopyData data = Serializer.Deserialize <CopyData>(xml); data.ApplicationAuthentication = true; data.AuthProvider = AuthenticationProvider.Auto; return(Serializer.Serialize(data)); }
/// <summary> /// This is an overridden method, from the Print Support PrintEngine class /// PrintTag Virtual Method. /// </summary> /// <param name="printQueue"></param> /// <param name="executionData"></param> public override StringBuilder PrintTag(PrintQueue printQueue, PluginExecutionData executionData) { CopyData data = executionData.GetMetadata <CopyData>(ConverterProvider.GetMetadataConverters()); PrintCopyData(data); _contentToPrint.AppendLine(); _contentToPrint.AppendLine(string.Format("UserName: {0}", Environment.UserName)); _contentToPrint.AppendLine(string.Format("Session ID: {0}", executionData.SessionId)); _contentToPrint.AppendLine(string.Format("Activity ID:{0}", executionData.ActivityExecutionId)); _contentToPrint.AppendLine(string.Format("Date: {0}", DateTime.Now.ToShortDateString())); _contentToPrint.AppendLine(string.Format("Time: {0}", DateTime.Now.ToShortTimeString())); return(_contentToPrint); }
/// <summary> /// Validates the given metadata against the Copy Activity data. /// </summary> /// <param name="configurationData">The configuration data.</param> /// <returns>true if valid</returns> public bool ValidateMetadata(ref PluginConfigurationData configurationData) { bool validData = true; CopyData activityData = null; try { activityData = configurationData.GetMetadata <CopyData>(ConverterProvider.GetMetadataConverters()); } catch { activityData = new CopyData(); validData = false; } configurationData = new PluginConfigurationData(activityData, CopyConfigControl.Version); return(validData); }
private void PrintCopyData(CopyData _copyData) { if (_copyData != null) { _contentToPrint.AppendLine(string.Format("Copy Settings Data")); _contentToPrint.AppendLine(); PropertyInfo[] propertiesCopyData = _copyData.GetType().GetProperties(); foreach (PropertyInfo propCopyData in propertiesCopyData) { if (!((propCopyData.Name.Equals("Options") || (propCopyData.Name.Equals("_printingActivityData")) || propCopyData.Name.Equals("LockTimeouts") || propCopyData.Name.Equals("Copies") || propCopyData.Name.Equals("AutomationPause")))) { _contentToPrint.AppendLine( string.Format("{0} : {1}", propCopyData.Name, propCopyData.GetValue(_copyData, null))); } } PropertyInfo[] propertyCopyOption = _copyData.Options.GetType().GetProperties(); foreach (PropertyInfo propCopyOption in propertyCopyOption) { if (propCopyOption.Name.Equals("StampContents")) { List <StampContents> contents = (List <StampContents>)propCopyOption.GetValue(_copyData.Options, null); if (_copyData.Options != null) { if (contents.Count > 0) { foreach (StampContents content in contents) { _contentToPrint.AppendLine(string.Format("StampType : {0}", content.StampType.ToString())); _contentToPrint.AppendLine(string.Format("StampContentType : {0}", content.StampContentType.ToString())); } } } } else if (!(propCopyOption.Name.Equals("OptimizeTextPicture"))) { _contentToPrint.AppendLine( string.Format("{0} : {1}", propCopyOption.Name, propCopyOption.GetValue(_copyData.Options, null))); } } } }
private void ConfigureControls(CopyData data) { pageCount_NumericUpDown.Value = data.PageCount; quickSet_TextBox.Text = data.QuickSetName; lockTimeoutControl.Initialize(data.LockTimeouts); quickSet_RadioButton.Checked = data.UseQuickset; launchFromApp_RadioButton.Checked = data.LaunchQuicksetFromApp; launchFromHome_RadioButton.Checked = !data.LaunchQuicksetFromApp; comboBox_AuthProvider.SelectedValue = data.AuthProvider; if (data.ApplicationAuthentication) { radioButton_Copy.Checked = true; } else { radioButton_SignInButton.Checked = true; } }
/// <summary> /// The execute. /// </summary> /// <param name="executionData"> /// The execution data. /// </param> /// <returns> /// The <see cref="PluginExecutionResult"/>. /// </returns> public PluginExecutionResult Execute(PluginExecutionData executionData) { CopyData data = executionData.GetMetadata <CopyData>(ConverterProvider.GetMetadataConverters()); PrintQueueInfo item = executionData.PrintQueues.GetRandom(); ScanOptions scanOptions = new ScanOptions() { LockTimeouts = data.LockTimeouts, PageCount = data.PageCount }; if (data.PrintJobSeparator) { _engine.PrintJobSeparator(executionData); } var manager = new CopyManager(executionData, scanOptions); manager.ActivityStatusChanged += UpdateStatus; manager.DeviceSelected += UpdateDevice; return(manager.RunScanActivity()); }
public CopyManager(PluginExecutionData executionData, ScanOptions scanOptions) : base(executionData) { _data = executionData.GetMetadata <CopyData>(ConverterProvider.GetMetadataConverters()); ScanOptions = scanOptions; }