public SafeComSimulationTask(SafeComSimulationController controller, SafeComSimulationActivityData activityData, IPrinterInfo device) : base() { _safecomController = controller; _taskConfig = activityData; _device = device; }
public HpacSimulationTask(HpacSimulationController controller, HpacSimulationActivityData activityData, IPrinterInfo device) : base() { _hpacController = controller; _taskConfig = activityData; _device = device; }
public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment) { // Initialize the activity data by deserializing it from an existing copy of configuration information. _activityData = configuration.GetMetadata <MailMergeActivityData>(); DynamicLocalPrintQueueDefinition definition = configuration.PrintQueues.SelectedPrintQueues.First() as DynamicLocalPrintQueueDefinition; IPrinterInfo printDevice = ConfigurationServices.AssetInventory.GetAsset(definition.AssetId) as IPrinterInfo; PrintDriverInfo printDriver = ConfigurationServices.AssetInventory.AsInternal().GetPrintDrivers().First(n => n.PrintDriverId == definition.PrintDriverId); _localPrintQueueInfo = new DynamicLocalPrintQueueInfo(printDevice, printDriver, definition.PrinterPort, definition.PrintDriverConfiguration); PopulateMailMergeUi(); }
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(); }
private IEnumerable <PrintQueueInfo> CreateDynamicPrintQueues(PrintQueueSelectionData printQueueSelectionData) { using (AssetInventoryContext context = DbConnect.AssetInventoryContext()) { var printQueueDefinitions = printQueueSelectionData.SelectedPrintQueues.OfType <DynamicLocalPrintQueueDefinition>(); var assetIds = printQueueDefinitions.Select(n => n.AssetId); var driverIds = printQueueDefinitions.Select(n => n.PrintDriverId); var assets = context.Assets.Where(n => assetIds.Contains(n.AssetId)).ToAssetInfoCollection(); var drivers = context.PrintDrivers.Where(n => driverIds.Contains(n.PrintDriverId)).ToPrintDriverInfoCollection(); foreach (DynamicLocalPrintQueueDefinition definition in printQueueDefinitions) { IPrinterInfo printDevice = assets.FirstOrDefault(n => n.AssetId == definition.AssetId) as IPrinterInfo; PrintDriverInfo printDriver = drivers.FirstOrDefault(n => n.PrintDriverId == definition.PrintDriverId); if (printDevice != null && printDriver != null) { yield return(new DynamicLocalPrintQueueInfo(printDevice, printDriver, definition.PrinterPort, definition.PrintDriverConfiguration)); } } } }
public PluginExecutionResult Execute(PluginExecutionData executionData) { _executionData = executionData; HpacSimulationActivityData activityData = _executionData.GetMetadata <HpacSimulationActivityData>(); PluginExecutionResult result = new PluginExecutionResult(PluginResult.Passed); IPrinterInfo assetInfo = null; ServerInfo hpacServer = null; try { assetInfo = (IPrinterInfo)_executionData.Assets.GetRandom(); hpacServer = _executionData.Servers.First(); LogUsageData(assetInfo, hpacServer); } catch (ArgumentNullException ex) { return(new PluginExecutionResult(PluginResult.Error, ex)); } catch (InvalidOperationException ex) { return(new PluginExecutionResult(PluginResult.Error, ex)); } if (_hpacController == null) { _hpacController = new HpacSimulationController(_executionData.Environment.UserDnsDomain, hpacServer.HostName, _executionData.Credential); } UpdateUI(hpacServer.HostName, assetInfo.AssetId, activityData.PullAllDocuments); UpdateStatus("Starting HPAC Pull Activity..."); //On error or skip, Implement Retries PluginRetryManager retryManager = new PluginRetryManager(_executionData, UpdateStatus); result = retryManager.Run(() => ExecuteHandler(activityData, assetInfo)); return(result); }
private void LoadPrintQueues(PrintQueueDefinitionCollection printQueueDefinitions) { _printQueues.Clear(); foreach (LocalPrintQueueDefinition local in printQueueDefinitions.OfType <LocalPrintQueueDefinition>()) { _printQueues.Add(new LocalPrintQueueInfo(local.QueueName, local.AssociatedAssetId)); } var remotePrintQueues = ConfigurationServices.AssetInventory.GetRemotePrintQueues().ToList(); foreach (RemotePrintQueueDefinition remote in printQueueDefinitions.OfType <RemotePrintQueueDefinition>()) { var queue = remotePrintQueues.FirstOrDefault(n => n.PrintQueueId == remote.PrintQueueId); if (queue != null) { _printQueues.Add(queue); } } var dynamicQueueDefinitions = printQueueDefinitions.OfType <DynamicLocalPrintQueueDefinition>().ToList(); if (dynamicQueueDefinitions.Any()) { var printers = ConfigurationServices.AssetInventory.GetAssets(dynamicQueueDefinitions.Select(n => n.AssetId)).OfType <IPrinterInfo>().ToList(); var drivers = ConfigurationServices.AssetInventory.AsInternal().GetPrintDrivers().ToList(); foreach (DynamicLocalPrintQueueDefinition definition in dynamicQueueDefinitions) { IPrinterInfo printer = printers.FirstOrDefault(n => n.AssetId == definition.AssetId); PrintDriverInfo driver = drivers.FirstOrDefault(n => n.PrintDriverId == definition.PrintDriverId); if (printer != null && driver != null) { _printQueues.Add(new DynamicLocalPrintQueueInfo(printer, driver, definition.PrinterPort, definition.PrintDriverConfiguration)); } } } }
internal static void ThunkSetPrinter(IntPtr hPrinter, IPrinterInfo pPrinter) { if (pPrinter == null) { Error.ArgumentNull("pPrinter"); } var type = pPrinter.GetType(); var level = GetPrinterInfoLevel(type); if (level < 2) { Error.ArgumentOutOfRange("pPrinter"); } var pBuffer = IntPtr.Zero; try { pBuffer = Marshal.AllocHGlobal(Marshal.SizeOf(type)); Marshal.StructureToPtr(pPrinter, pBuffer, false); if (!SetPrinter(hPrinter, level, pBuffer, PrinterCommand.None)) { Error.ThrowLastError(); } } finally { if (pBuffer != IntPtr.Zero) { Marshal.DestroyStructure(pBuffer, type); Marshal.FreeHGlobal(pBuffer); } } }
protected void PrintJobViewItemLabel(IPrinterInfo printerInfo, EditPrdnJobViewModel viewJob, ProductionJob job = null) { if ((viewJob.PrdnTypeCode == null) && (job.IfNotNull(j => j.Run) != null)) { viewJob.loadFromRun(job.Run); } if ((viewJob.WorksheetID != null) && (viewJob.EditWorksheet == null)) { WorksheetEditViewModel.LoadViewJobEditWorksheet(viewJob, job); } PrdnZplMultiParam parm = new PrdnZplMultiParam(viewJob); ZplPrinterHelper.NetworkMultiZpl(printerInfo.PrinterHostName, (int)printerInfo.PrinterPort, parm); }
protected void PrintJobLabel(IPrinterInfo printerInfo, ProductionJob job) { InvItemViewModel itemModel = null; EditPrdnJobViewModel viewJob = null; if (job.CustID == PrdnDataHelper.PrdnCustIDCST) { itemModel = LookupInvItem(job.SerialNo); } else { viewJob = Mapper.Map<ProductionJob, EditPrdnJobViewModel>(job); } if (itemModel != null) { PrintItemViewLabel(printerInfo, itemModel, job); } else if (viewJob != null) { PrintJobViewItemLabel(printerInfo, viewJob, job); } }
protected void PrintItemViewLabel(IPrinterInfo printerInfo, InvItemViewModel item, ProductionJob job = null) { PrdnZplMultiParam parm = new PrdnZplMultiParam(item); if (job != null) { parm.Priority = job.IfNotNull(j => j.Priority).IfNotNull(p => p.Name); parm.SetPrdnOrderDisp( job.IfNotNull(j => j.Run).IfNotNull(r => r.PrdnOrderNo), job.IfNotNull(j => j.Run).IfNotNull(r => r.PrdnType.IfNotNull(t => t.Code)), job.IfNotNull(j => j.RunSeqNo)); parm.ShipCD = job.IfNotNull(j => j.ShipMethodCD); } ZplPrinterHelper.NetworkMultiZpl(printerInfo.PrinterHostName, (int)printerInfo.PrinterPort, parm); }
protected void LoadPrinterInfo(IPrinterInfo info) { if (info.LabelPrinterID == null) { UserSettingsModel settings = GetUserSettings(); info.LabelPrinterID = settings.IfNotNull(s => s.LabelPrinterID); } if ((String.IsNullOrWhiteSpace(info.PrinterHostName) || (info.PrinterPort == null)) && (info.IfNotNull(s => s.LabelPrinterID) > 0)) { var printer = (from p in PrdnDBContext.LabelPrinters where p.ID == info.LabelPrinterID select p).FirstOrDefault(); if (printer != null) { info.LabelPrinterID = printer.ID.ToInt(); info.PrinterName = printer.Name; info.PrinterHostName = printer.HostName; info.PrinterPort = printer.Port.ToInt(); } } }
/// <summary> /// Initializes a new instance of the <see cref="DynamicLocalPrintQueueInfo" /> class. /// </summary> /// <param name="printDevice">The print device to use for this print queue.</param> /// <param name="printDriver">The print driver to use for this print queue.</param> /// <param name="printerPort">The <see cref="PrinterPortInfo" /> to use when creating the queue.</param> /// <param name="printDriverConfiguration">The print driver configuration.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="printDevice" /> is null. /// <para>or</para> /// <paramref name="printDriver" /> is null. /// <para>or</para> /// <paramref name="printerPort" /> is null. /// </exception> public DynamicLocalPrintQueueInfo(IPrinterInfo printDevice, PrintDriverInfo printDriver, PrinterPortInfo printerPort, PrintDriverConfiguration printDriverConfiguration) : this(printDevice?.AssetId, printDevice?.Address, printDriver, printerPort, printDevice?.PrinterPort ?? 0, printDevice?.SnmpEnabled ?? false, printDriverConfiguration) { }
private PluginExecutionResult ExecuteHandler(HpacSimulationActivityData activityData, IPrinterInfo assetInfo) { HpacSimulationTask hpacSimTask = new HpacSimulationTask(_hpacController, activityData, assetInfo); hpacSimTask.StatusUpdate += (s, e) => UpdateStatus(e.StatusMessage); try { hpacSimTask.Execute(); } catch (EmptyQueueException ex) { return(new PluginExecutionResult(PluginResult.Skipped, ex)); } catch (PullPrintingSimulationException ex) { return(new PluginExecutionResult(PluginResult.Error, ex)); } return(new PluginExecutionResult(PluginResult.Passed)); }