示例#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)
        {
            ConfigureControls(configuration.GetMetadata <ScanToWorkflowData>(ConverterProvider.GetMetadataConverters()));

            assetSelectionControl.Initialize(configuration.Assets, _deviceAttributes);
            assetSelectionControl.AdfDocuments = configuration.Documents;
        }
示例#2
0
        /// <summary>
        /// Validates the given metadata against the ScanToWorkflow Activity data.
        /// </summary>
        /// <param name="configurationData">The configuration data.</param>
        /// <returns>true if valid</returns>
        public bool ValidateMetadata(ref PluginConfigurationData configurationData)
        {
            bool validData = true;
            ScanToWorkflowData activityData = null;

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

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

            return(validData);
        }
示例#3
0
 public WorkflowScanManager(PluginExecutionData executionData, ScanOptions scanOptions, string serverName)
     : base(executionData, serverName)
 {
     _data       = executionData.GetMetadata <ScanToWorkflowData>(ConverterProvider.GetMetadataConverters());
     ScanOptions = scanOptions;
 }
示例#4
0
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            ScanToWorkflowData data        = executionData.GetMetadata <ScanToWorkflowData>(ConverterProvider.GetMetadataConverters());
            ScanOptions        scanOptions = new ScanOptions()
            {
                LockTimeouts = data.LockTimeouts,
                PageCount    = data.PageCount,
                UseAdf       = data.UseAdf,
            };

            WorkflowScanManager manager;

            if (string.IsNullOrWhiteSpace(data.DigitalSendServer))
            {
                manager = new WorkflowScanManager(executionData, scanOptions);
            }
            else
            {
                manager = new WorkflowScanManager(executionData, scanOptions, data.DigitalSendServer);
            }

            manager.ActivityStatusChanged += UpdateStatus;
            manager.DeviceSelected        += UpdateDevice;
            return(manager.RunScanActivity());
        }