/// <summary> /// Navigate the location to save scan file(to select print file) /// <param name="filePath">Navigate to destination by FilePath</param> /// </summary> public bool NavigateToDestination(KioskPrintOptions option) { string current_string = null; string filename = null; string path = option.Path; path = path.Trim(); while (path.Contains("/")) { current_string = path.Substring(0, path.IndexOf('/')); path = path.Substring(path.IndexOf('/') + 1); filename = current_string; LinkUI.Controller.Click(new UiSelector().TextContains(filename)); } if (!string.IsNullOrEmpty(path)) { filename = path; UpdateStatus($"Final path : {filename}"); if (KioskPrintSource.PrinterOn.Equals(option.PrintSource)) { WaitingForUploadFile(filename); } return(LinkUI.Controller.Click(new UiSelector().TextContains(filename))); } return(false); }
/// <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) { var data = configuration.GetMetadata <KioskActivityData>(); ConfigureControls(data); _coptions = data.CopyOptions; _poptions = data.PrintOptions; _soptions = data.ScanOptions; lockTimeoutControl.Initialize(data.LockTimeouts); //JobType Enum if (data.JobType.Equals(KioskJobType.Copy)) { copy_RadioButton.Checked = true; print_RadioButton.Checked = false; scan_RadioButton.Checked = false; } else if (data.JobType.Equals(KioskJobType.Print)) { copy_RadioButton.Checked = false; print_RadioButton.Checked = true; scan_RadioButton.Checked = false; } else if (data.JobType.Equals(KioskJobType.Scan)) { copy_RadioButton.Checked = false; print_RadioButton.Checked = false; scan_RadioButton.Checked = true; } assetSelectionControl.Initialize(configuration.Assets, DeviceAttributes); }
public KioskActivityData() { //값 초기화 부분 LockTimeouts = new LockTimeoutData(TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(10)); CopyOptions = new KioskCopyOptions(); PrintOptions = new KioskPrintOptions(); ScanOptions = new KioskScanOptions(); }
/// <summary> /// Navigate to select print file) /// <param name="option">Options for print</param> /// </summary> public void NavigatePrintFilePath(KioskPrintOptions option) { if (KioskPrintSource.USB.Equals(option.PrintSource)) { if (!LinkUI.Controller.Click(new UiSelector().ResourceId($"{KioskPackageName}:id/usb_btn"))) { DeviceWorkflowException e = new DeviceWorkflowException($"Failed to select USB."); e.Data.Add(_exceptionCategoryData, ConnectorExceptionCategory.NavigateFilePath.GetDescription()); throw e; } } if (!NavigateToDestination(option)) { DeviceWorkflowException e = new DeviceWorkflowException($"Failed to Navigate file path."); e.Data.Add(_exceptionCategoryData, ConnectorExceptionCategory.NavigateFilePath.GetDescription()); throw e; } }
/// <summary> /// Launch with print /// <param name="jobType">JobType</param> /// <param name="option">Options for print</param> /// </summary> public void Launch(KioskJobType jobType, KioskPrintOptions option) { bool result = false; UpdateStatus($"Launch start: {jobType.GetDescription()}"); result = LinkUI.Controller.Click(new UiSelector().ResourceId($"{KioskPackageName}:id/homePrintButton")); if (result) { NavigatePrintFilePath(option); VerifyLaunch(jobType, new UiSelector().ResourceId($"{KioskPackageName}:id/start_tab")); } else { DeviceWorkflowException e = new DeviceWorkflowException($"Launch failed: Selecting print source is failed: {option.PrintSource.GetDescription()}"); e.Data.Add(_exceptionCategoryData, ConnectorExceptionCategory.AppLaunch.GetDescription()); throw e; } }
private void options_Button_Click(object sender, EventArgs e) { if (copy_RadioButton.Checked) { using (var preferences = new KioskCopyOptionsForm(_coptions)) { if (preferences.ShowDialog() == DialogResult.OK) { _coptions = preferences.KioskCopyOptions; } } } else if (print_RadioButton.Checked) { _poptions.PrintSource = EnumUtil.GetByDescription <KioskPrintSource>(printSource_comboBox.Text); using (var preferences = new KioskPrintOptionsForm(_poptions)) { if (preferences.ShowDialog() == DialogResult.OK) { _poptions = preferences.KioskPrintOptions; } } } else if (scan_RadioButton.Checked) { _soptions.ScanDestination = EnumUtil.GetByDescription <KioskScanDestination>(scanDestination_comboBox.Text); using (var preferences = new KioskScanOptionsForm(_soptions)) { if (preferences.ShowDialog() == DialogResult.OK) { _soptions = preferences.KioskScanOptions; } } } else { return; } }
/// <summary> /// Start Job after SetOptions step /// <param name="printOptions">Options for running print job</param> /// </summary> public void ExecutionJob(KioskPrintOptions printOptions) { PrintExecution(); }
/// <summary> /// Initializes a new instance of the <see cref="CloudConnectorPrintManager" /> class. /// </summary> /// <param name="executionData">The execution data.</param> /// <param name="printOptions">The scan options.</param> public KioskPrintManager(PluginExecutionData executionData, KioskPrintOptions printOptions, LockTimeoutData lockTimeoutData) : base(executionData, lockTimeoutData) { _data = executionData.GetMetadata <KioskActivityData>(); _kioskPrintOptions = _data.PrintOptions; }