/// <summary>
 /// CloudPrintOptionsForm constructor with CloudPrintOptions as parameter
 /// </summary>
 /// <param name="linkPrintOptions"></param>
 public LinkPrintOptionsForm(LinkPrintOptions linkPrintOptions)
 {
     InitializeComponent();
     LinkPrintOption = linkPrintOptions;
     outputSides_comboBox.DataSource = EnumUtil.GetDescriptions <LinkPrintOutputSides>().ToList();
     colorBlack_comboBox.DataSource  = EnumUtil.GetDescriptions <LinkPrintColorBlack>().ToList();
     staple_comboBox.DataSource      = EnumUtil.GetDescriptions <LinkPrintStaple>().ToList();
     paperSize_comboBox.DataSource   = EnumUtil.GetDescriptions <LinkPrintPaperSize>().ToList();
     paperTray_comboBox.DataSource   = EnumUtil.GetDescriptions <LinkPrintPaperTray>().ToList();
 }
        protected LinkPrintActivityManager(PluginExecutionData executionData, LinkPrintOptions linkPrintOptions, LockTimeoutData lockTimeoutData)
        {
            if (executionData == null)
            {
                throw new ArgumentNullException(nameof(executionData));
            }

            if (linkPrintOptions == null)
            {
                throw new ArgumentNullException(nameof(linkPrintOptions));
            }
            ExecutionData     = executionData;
            WorkflowLogger    = new DeviceWorkflowLogger(executionData);
            ConnectorLog      = new ConnectorJobInputLog(executionData, LinkJobType);
            _linkPrintOptions = linkPrintOptions;
            _lockTimeoutData  = lockTimeoutData;
        }
        /// <summary>
        /// Set options for the scan job.
        /// </summary>
        /// <param name="printOptionsManager">The JetAdvantageLinkPrintOptionManager.</param>
        /// <param name="printOptions">The LinkPrintOptions.</param>
        /// <returns>The result of the scan.</returns>
        protected virtual void SetOptions(JetAdvantageLinkPrintOptionManager printOptionsManager, LinkPrintOptions printOptions)
        {
            UpdateStatus($"Set the options screen");
            printOptionsManager.SetOptionsScreen();

            if (printOptions.UseOutputSides)
            {
                UpdateStatus($"Select option activity with Output Sides {printOptions.OutputSides.GetDescription()} is being started");
                printOptionsManager.SetOutputSides(printOptions.OutputSides);
                UpdateStatus($"Select option activity with Output Sides {printOptions.OutputSides.GetDescription()} is being completed");
            }

            if (printOptions.UseColorBlack)
            {
                UpdateStatus($"Select option activity with Color Black {printOptions.ColorBlack.GetDescription()} is being started");
                printOptionsManager.SetColorBlack(printOptions.ColorBlack);
                UpdateStatus($"Select option activity with Color Black {printOptions.ColorBlack.GetDescription()} is being completed");
            }

            if (printOptions.UseStaple)
            {
                UpdateStatus($"Select option activity with Staple {printOptions.Staple.GetDescription()} is being started");
                printOptionsManager.SetStaple(printOptions.Staple);
                UpdateStatus($"Select option activity with Staple {printOptions.Staple.GetDescription()} is being completed");
            }

            if (printOptions.UsePaperSelection)
            {
                UpdateStatus($"Select option activity with Paper Size {printOptions.PaperSize.GetDescription()}, Paper Tray {printOptions.PaperTray.GetDescription()} is being started");
                printOptionsManager.SetPaperSelection(printOptions.PaperSize, printOptions.PaperTray);
                UpdateStatus($"Select option activity with Paper Size {printOptions.PaperSize.GetDescription()}, Paper Tray {printOptions.PaperTray.GetDescription()} is being completed");
            }

            if (printOptions.UsePageCount)
            {
                UpdateStatus($"Select option activity with Page Count {printOptions.PageCount} is being started");
                printOptionsManager.SetNumberOfCopies(printOptions.PageCount);
                UpdateStatus($"Select option activity with Page Count {printOptions.PageCount} is being completed");
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="LinkPrintActivityManager" /> class.
 /// </summary>
 /// <param name="executionData">The execution data.</param>
 /// <param name="linkPrintOptions">The cloud print configuration.</param>
 /// <param name="lockTimeoutData"></param>
 /// <param name="server">The server to log with the scan.</param>
 /// <exception cref="ArgumentNullException">
 /// <paramref name="executionData" /> is null.
 /// <para>or</para>
 /// <paramref name="linkPrintOptions" /> is null.
 /// </exception>
 protected LinkPrintActivityManager(PluginExecutionData executionData, LinkPrintOptions linkPrintOptions, LockTimeoutData lockTimeoutData, ServerInfo server)
     : this(executionData, linkPrintOptions, lockTimeoutData)
 {
     _serverName = server?.HostName;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="LinkPrintActivityManager" /> class.
 /// </summary>
 /// <param name="executionData">The execution data.</param>
 /// <param name="linkPrintOptions">The cloud print configuration.</param>
 /// <param name="lockTimeoutData"></param>
 /// <param name="serverName">The server to log with the scan.</param>
 /// <exception cref="ArgumentNullException">
 /// <paramref name="executionData" /> is null.
 /// <para>or</para>
 /// <paramref name="linkPrintOptions" /> is null.
 /// </exception>
 protected LinkPrintActivityManager(PluginExecutionData executionData, LinkPrintOptions linkPrintOptions, LockTimeoutData lockTimeoutData, string serverName)
     : this(executionData, linkPrintOptions, lockTimeoutData)
 {
     _serverName = serverName;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="LinkPrintOptions"/> class.
 /// </summary>
 public LinkPrintOptionsForm()
 {
     InitializeComponent();
     LinkPrintOption = new LinkPrintOptions();
 }