/// <summary> /// Signs the user out of the device. /// </summary> protected void SignOut() { try { DateTime startTime = DateTime.Now; _geniusBytesApp.SignOut(); OnTimeStatusUpdate("SignOut", startTime, DateTime.Now); if (!_geniusBytesApp.VerifySignOut()) { if (!_geniusBytesApp.ExistElementText("Manual Login")) { _geniusBytesApp.SignOut(); if (!_geniusBytesApp.VerifySignOut()) { throw new DeviceWorkflowException("Failed to Verify SignOut."); } } } } catch (DeviceWorkflowException) { if (!_geniusBytesApp.VerifySignOut()) { DateTime startTime = DateTime.Now; OnTimeStatusUpdate("Retry SignOut", startTime, DateTime.Now); _geniusBytesApp.SignOut(); if (!_geniusBytesApp.VerifySignOut()) { throw new DeviceWorkflowException("Verify SingOut Failure."); } } } }
/// <summary> /// Set options for the scan job. /// </summary> /// <returns>The result of the scan.</returns> private void SetOptions() { TimeSpan timeout = TimeSpan.FromSeconds(5); string optionText = string.Empty; if (_activityData.AppName == GeniusBytesScanType.Scan2Mail) { _geniusBytesApp.AddDocument(timeout); } _geniusBytesApp.SetFileName(FilePrefix.ToString(), _activityData.AppName); _geniusBytesApp.SetImagePreview(_activityData.ImagePreview); optionText = _activityData.ColourOption.GetDescription(); if (!_geniusBytesApp.ExistElementText(optionText)) { UpdateStatus($"Setting color option to {optionText}."); _geniusBytesApp.SelectColorOption(_activityData.ColourOption, timeout); } optionText = _activityData.SidesOption.GetDescription(); if (!_geniusBytesApp.ExistElementText(optionText)) { UpdateStatus($"Setting sides option to {optionText}."); _geniusBytesApp.SelectSidesOption(_activityData.SidesOption, timeout); } optionText = _activityData.ResolutionOption.GetDescription(); if (!_geniusBytesApp.ExistElementText(optionText)) { UpdateStatus($"Setting resolution option to {optionText}."); _geniusBytesApp.SelectResolutionOption(_activityData.ResolutionOption, timeout); } if (_activityData.FileType != GeniusByteScanFileTypeOption.Multipage_PDF) { _geniusBytesApp.SetFileType(_activityData.FileType, timeout); } }