Beispiel #1
0
        /// <summary>
        /// Initializes this configuration control with the specified <see cref="PluginConfigurationData" />.
        /// </summary>
        /// <param name="configuration">The configuration data.</param>
        /// <param name="environment">Information about the plugin environment.</param>
        public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment)
        {
            ScanToJobStorageData activityData = configuration.GetMetadata <ScanToJobStorageData>(ConverterProvider.GetMetadataConverters());

            ConfigureControls(activityData);
            assetSelectionControl.Initialize(configuration.Assets, DeviceAttributes);
            assetSelectionControl.AdfDocuments = configuration.Documents;
        }
Beispiel #2
0
        /// <summary>
        /// The execute method for Scan To JobStorage plugin.
        /// </summary>
        /// <param name="executionData">
        /// The execution data.
        /// </param>
        /// <returns>
        /// The <see cref="PluginExecutionResult"/>.
        /// </returns>
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            ScanToJobStorageData data = executionData.GetMetadata <ScanToJobStorageData>(ConverterProvider.GetMetadataConverters());

            JobStorageScanManager manager = new JobStorageScanManager(executionData);

            manager.ActivityStatusChanged += UpdateStatus;
            manager.DeviceSelected        += UpdateDevice;
            return(manager.RunScanActivity());
        }
        /// <summary>
        /// Converts the specified XML metadata to the new version.
        /// </summary>
        /// <param name="xml">The XML metadata.</param>
        /// <returns>System.Xml.Linq.XElement.</returns>
        public XElement Convert(XElement xml)
        {
            Version v4_10 = new Version("4.10.0.0");
            Version v4_12 = new Version("4.12.0.0");

            // Get XML root namespace for manual conversion
            XNamespace rootNS = xml.GetDefaultNamespace();

            //Determine what data version we are working with.
            Version version = ParseVersionFromMetadata(xml);

            ScanToJobStorageData resultData = null;

            if (version < v4_10)
            {
                //Convert old metadata to new schema.
                resultData = new ScanToJobStorageData()
                {
                    AutomationPause = GetTimeSpan(xml, "AutomationPause"),
                    IsPinRequired   = GetBool(xml, "IsPinRequired"),
                    JobName         = GetValue(xml, "JobName"),
                    Pin             = GetValue(xml, "Pin")
                };
            }
            else if (version >= v4_10 && version < v4_12)
            {
                //Deserialize what is there.  It's possible Some ScanOptions were saved.
                resultData = Serializer.Deserialize <ScanToJobStorageData>(xml);
            }
            else
            {
                //No Conversion necessary
                return(xml);
            }

            //Only update these next properties if they are found in the metadata root.
            if (Exists(xml, "LockTimeouts", true))
            {
                resultData.ScanOptions.LockTimeouts = GetLockTimeoutData(rootNS, xml);
            }
            if (Exists(xml, "PageCount", true))
            {
                resultData.ScanOptions.PageCount = GetInt(xml, "PageCount");
            }
            if (Exists(xml, "UseAdf", true))
            {
                resultData.ScanOptions.UseAdf = GetBool(xml, "UseAdf");
            }

            return(Serializer.Serialize(resultData));
        }
Beispiel #4
0
 private void ConfigureControls(ScanToJobStorageData data)
 {
     pin_TextBox.Text             = data.Pin;
     pinRequired_CheckBox.Checked = data.IsPinRequired;
     lockTimeoutControl.Initialize(data.ScanOptions.LockTimeouts);
     pageCount_NumericUpDown.Value         = data.ScanOptions.PageCount;
     assetSelectionControl.AutomationPause = data.AutomationPause;
     assetSelectionControl.UseAdf          = data.ScanOptions.UseAdf;
     _scanOptions = data.ScanOptions;
     if (data.ApplicationAuthentication)
     {
         radioButton_ScanToJobStorage.Checked = true;
     }
     else
     {
         radioButton_SignInButton.Checked = true;
     }
     comboBox_AuthProvider.SelectedValue = data.AuthProvider;
 }
        /// <summary>
        /// Validates the given metadata against the ScanToJobStorage Activity data.
        /// </summary>
        /// <param name="configurationData">The configuration data.</param>
        /// <returns>true if valid</returns>
        public bool ValidateMetadata(ref PluginConfigurationData configurationData)
        {
            bool validData = true;
            ScanToJobStorageData activityData = null;

            try
            {
                activityData = configurationData.GetMetadata <ScanToJobStorageData>(ConverterProvider.GetMetadataConverters());
            }
            catch
            {
                activityData = new ScanToJobStorageData();
                validData    = false;
            }

            configurationData = new PluginConfigurationData(activityData, ScanToJobStorageConfigControl.Version);

            return(validData);
        }
Beispiel #6
0
        /// <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()
        {
            ScanToJobStorageData data = new ScanToJobStorageData()
            {
                Pin           = pin_TextBox.Text,
                IsPinRequired = pinRequired_CheckBox.Checked,

                AutomationPause = assetSelectionControl.AutomationPause,

                ScanOptions = _scanOptions,
                ApplicationAuthentication = radioButton_ScanToJobStorage.Checked,
                AuthProvider = (AuthenticationProvider)comboBox_AuthProvider.SelectedValue
            };

            data.ScanOptions.UseAdf       = assetSelectionControl.UseAdf;
            data.ScanOptions.LockTimeouts = lockTimeoutControl.Value;
            data.ScanOptions.PageCount    = (int)pageCount_NumericUpDown.Value;

            return(new PluginConfigurationData(data, Version)
            {
                Assets = assetSelectionControl.AssetSelectionData,
                Documents = assetSelectionControl.AdfDocuments
            });
        }
 /// <summary>
 /// Scan Manager for the ScanToJobStorage plugin.
 /// </summary>
 public JobStorageScanManager(PluginExecutionData executionData)
     : base(executionData)
 {
     _data       = executionData.GetMetadata <ScanToJobStorageData>(ConverterProvider.GetMetadataConverters());
     ScanOptions = _data.ScanOptions;
 }