public void Initialize(PluginEnvironment environment)
        {
            _activityData          = new PrintQueueManagementActivityData();
            _documentSelectionData = new DocumentSelectionData();

            LoadDocuments();
        }
        public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment)
        {
            _activityData          = configuration?.GetMetadata <PrintQueueManagementActivityData>();
            _documentSelectionData = configuration?.Documents;

            DynamicLocalPrintQueueDefinition definition = configuration?.PrintQueues.SelectedPrintQueues.First() as DynamicLocalPrintQueueDefinition;
            IPrinterInfo printDevice = ConfigurationServices.AssetInventory.GetAsset(definition.AssetId) as IPrinterInfo;

            _printDriver         = ConfigurationServices.AssetInventory.AsInternal().GetPrintDrivers().First(n => n.PrintDriverId == definition.PrintDriverId);
            _localPrintQueueInfo = new DynamicLocalPrintQueueInfo(printDevice, _printDriver, definition.PrinterPort, definition.PrintDriverConfiguration);

            LoadDocuments();
            LoadUi();
        }
Exemplo n.º 3
0
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            _activityData       = executionData?.GetMetadata <PrintQueueManagementActivityData>();
            _documentCollection = executionData?.Documents;

            _localPrintQueueInfo = executionData?.PrintQueues.First() as DynamicLocalPrintQueueInfo;

            _taskCounter = 0;

            foreach (var pqmTask in _activityData.PrintQueueTasks)
            {
                activityStatus_dataGridView.DataSource = null;

                switch (pqmTask.Operation)
                {
                case PrintQueueOperation.Install:
                {
                    pqmTask.Status = InstallPrintQueue(executionData);
                }
                break;

                case PrintQueueOperation.Upgrade:
                {
                    UpgradePrintQueue(pqmTask, executionData.Environment.PluginSettings);
                }
                break;

                case PrintQueueOperation.Uninstall:
                {
                    pqmTask.Status = UninstallPrintQueue();
                }
                break;

                case PrintQueueOperation.Print:
                {
                    pqmTask.Status = PrintDocument(pqmTask.TargetObject.ToString());
                }
                break;

                case PrintQueueOperation.Cancel:
                {
                    pqmTask.Status = CancelDocument(pqmTask.TargetObject.ToString(), pqmTask.Delay);
                }
                break;

                case PrintQueueOperation.Configure:
                {
                    ConfigureQueueForm(pqmTask);
                }
                break;
                }
                activityStatus_dataGridView.Visible = false;

                activityStatus_dataGridView.DataSource = _activityData.PrintQueueTasks;
                activityStatus_dataGridView.Visible    = true;

                _taskCounter++;
            }

            return(_activityData.PrintQueueTasks.All(x => x.Status == Status.Passed) ? new PluginExecutionResult(PluginResult.Passed) : new PluginExecutionResult(PluginResult.Failed));
        }