Пример #1
0
        private PluginExecutionResult RunTwain(IDevice device, PluginExecutionData executionData)
        {
            PluginExecutionResult result = new PluginExecutionResult(PluginResult.Passed);

            _activityData = _executionData.GetMetadata <TwainDriverActivityData>();
            var preparationManager = DevicePreparationManagerFactory.Create(device);

            preparationManager.InitializeDevice(true);
            TopCatUIAutomation.Initialize();

            if (_activityData.TwainOperation == TwainOperation.Install)
            {
                InstallTwainDriver(device);
            }
            else if (_activityData.TwainOperation == TwainOperation.DeviceAddition)
            {
                DeviceAddition(device);
            }
            else
            {
                ConfigureSettings(device, executionData.SessionId, executionData.Credential.UserName);
            }

            preparationManager.Reset();
            return(result);
        }
Пример #2
0
        /// <summary>
        /// constructor
        /// </summary>
        public PrintQueueManagementExecutionControl()
        {
            InitializeComponent();

            activityStatus_dataGridView.AutoGenerateColumns = false;
            TopCatUIAutomation.Initialize();
        }
        /// <summary>
        /// Execute the task of the DSSConfiguration activity.
        /// </summary>
        /// <param name="executionData"></param>
        /// <returns></returns>
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            _activityData = executionData.GetMetadata <DssConfigurationActivityData>();
            TopCatUIAutomation.Initialize();
            UpdateStatus($"Launching the DSS Configuration Task : {_activityData.TaskName}");
            try
            {
                List <Object>        parameterList        = new List <object>();
                DssConfigurationTask dssConfigurationTask = new DssConfigurationTask(executionData.SessionId, executionData.Credential.UserName);
                var method = typeof(DssConfigurationTask).GetMethod(_activityData.TaskName);
                foreach (var parameterInfo in method.GetParameters())
                {
                    object data;
                    _activityData.ParameterValueDictionary.TryGetValue(parameterInfo.ParameterType.Name, out data);
                    parameterList.Add(data);
                }

                method.Invoke(dssConfigurationTask, parameterList.ToArray());
            }
            catch (Exception exception)
            {
                return(new PluginExecutionResult(PluginResult.Failed, exception.InnerException ?? exception));
            }

            return(new PluginExecutionResult(PluginResult.Passed));
        }
Пример #4
0
 /// <summary>
 /// This method is to handle any orphaned iSecStar client pop-up from the previous failures
 /// This will close the orphaned prompts from previous iteration runs if any.
 /// </summary>
 private void CloseOrphanedClientPopup()
 {
     TopCatUIAutomation.Initialize();
     _printLogin = new PrintLogin(UIAFramework.ManagedUIA);
     if (_printLogin.PrintLogin32770Window.IsAvailable())
     {
         _printLogin.CloseButton2Button.ClickWithMouse(MouseButton.Left, WindowsTimeout);
         Thread.Sleep(humanTimeSpan);
     }
 }
 /// <summary>
 /// Triggers all Plugin Activities
 /// </summary>
 private void PluginTaskExecution()
 {
     InstallPrintDriverWithLPRQueue();
     if (_activityData.InstallHpacClient)
     {
         UpdateStatus(string.Format("Trigerring the HPAC Client Installation from {0}", _activityData.HpacClientInstallerPath));
         TopCatUIAutomation.Initialize();
         if (!File.Exists(_activityData.HpacClientInstallerPath))
         {
             throw new Exception("Could not find the HPAC Client Setup file Specified");
         }
         HpacClientInstallationSetup();
         HpacClientInstall();
     }
 }
Пример #6
0
        /// <summary>
        /// Sets the driver settings using Topcat.
        /// </summary>
        /// <param name="printerPreferenceData"></param>
        /// <param name="queueName"></param>
        public void ConfigureDriverSettings(PrinterPreferenceData printerPreferenceData, string queueName)
        {
            TopCatUIAutomation.Initialize();

            //Launching the Printer preferences Window
            UpdateStatus("Launching the Printer preferences Window");
            Process launch  = new Process();
            string  command = $"/c rundll32 printui.dll,PrintUIEntry /e /n \"{queueName}\"";

            launch.StartInfo.Arguments       = command;
            launch.StartInfo.Verb            = "runas";
            launch.StartInfo.FileName        = "cmd.exe";
            launch.StartInfo.CreateNoWindow  = true;
            launch.StartInfo.UseShellExecute = false;
            launch.Start();
            PrintPreferences printPreferences = new PrintPreferences(queueName);

            if (printPreferences.DriverWindow.IsAvailable(screenWaitTimeout))
            {
                UpdateStatus("The Printer preferences window has been Launched");
                PaperQualityTab(printerPreferenceData, printPreferences);
                EffectsTab(printerPreferenceData, printPreferences);
                FinishingTab(printerPreferenceData, printPreferences);
                OutputTab(printerPreferenceData, printPreferences);
                JobStorageTab(printerPreferenceData, printPreferences);
                ColorTab(printerPreferenceData, printPreferences);
                AdvanceTab(printerPreferenceData, printPreferences);
                printPreferences.OKButtonOkButton.WaitForAvailable(windowsTimeout);
                printPreferences.OKButtonOkButton.PerformHumanAction(x => x.Click(windowsTimeout));
                //handling selections conflicts popup window
                if (printPreferences.SelectionsconflWindow.IsEnabled(windowsTimeout))
                {
                    printPreferences.YesButton6Button.PerformHumanAction(x => x.ClickWithMouse(MouseButton.Left, windowsTimeout));
                }
            }
            else
            {
                throw new ArgumentException("The Queue name is not valid");
            }
        }
Пример #7
0
        /// <summary>
        ///  Performs the print dialog task
        /// </summary>
        /// <param name="executionData"></param>
        private void PerformPrintTask(PluginExecutionData executionData)
        {
            string username = executionData.Credential.UserName;
            string password = executionData.Credential.Password;

            TopCatUIAutomation.Initialize();
            _printLogin = new PrintLogin(UIAFramework.ManagedUIA);
            if (_printLogin.PrintLogin32770Window.IsAvailable())
            {
                _printLogin.Edit1000Edit.ClickWithMouse(MouseButton.Left, WindowsTimeout);
                Thread.Sleep(humanTimeSpan);
                SendKeys.SendWait(username);
                _printLogin.Edit1001Edit.ClickWithMouse(MouseButton.Left, WindowsTimeout);
                Thread.Sleep(humanTimeSpan);
                SendKeys.SendWait(password);
                _printLogin.SubmitButton1Button.WaitForAvailable(WindowsTimeout);
                _printLogin.SubmitButton1Button.PerformHumanAction(x => x.ClickWithMouse(MouseButton.Left, WindowsTimeout));
            }
            else
            {
                UpdateStatus("Could not launch ISecStar Client Popup");
            }
        }
Пример #8
0
        /// <summary>
        /// Execute the task of the DSSInstall activity.
        /// </summary>
        /// <param name="executionData"></param>
        /// <returns></returns>
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            _activityData = executionData.GetMetadata <DSSInstallActivityData>();

            TopCatUIAutomation.Initialize();

            if (!File.Exists(_activityData.SetupFilePath))
            {
                return(new PluginExecutionResult(PluginResult.Failed, "Could not find the setup file"));
            }

            try
            {
                LocalLockToken dssLockToken = new LocalLockToken("DSS", new LockTimeoutData(TimeSpan.FromSeconds(60), _activityData.TransitionDelay == TimeSpan.FromSeconds(20) ? TimeSpan.FromMinutes(130) : TimeSpan.FromMinutes(10)));

                ExecutionServices.CriticalSection.Run(dssLockToken, StartSetup);
            }
            catch (Exception exception)
            {
                return(new PluginExecutionResult(PluginResult.Failed, exception.Message));
            }

            return(new PluginExecutionResult(PluginResult.Passed));
        }
Пример #9
0
        /// <summary>
        /// Execute call for HP Easy Start Execution Engine
        /// </summary>
        /// <param name="executionData"></param>
        /// <returns></returns>
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            _activityData = executionData.GetMetadata <HpEasyStartActivityData>();
            UpdateStatus("Retrieving the Printer Information");

            //Retrieving the printer Randomly from the Selected Assets List
            Framework.Assets.IDeviceInfo printer = executionData.Assets.GetRandom <Framework.Assets.IDeviceInfo>();
            IDevice device    = DeviceConstructor.Create(printer);
            string  modelName = device.GetDeviceInfo().ModelName;

            UpdateStatus(_activityData.IsWebPackInstallation ? "Retrieving the Full Web Pack Installer Information" : "Retrieving the HP Easy Start Installer Information");
            if (!File.Exists(_activityData.HpEasyStartInstallerPath))
            {
                return(new PluginExecutionResult(PluginResult.Failed, "Could not find the HP Easy Start Installer file/Web Pack file"));
            }

            TopCatUIAutomation.Initialize();
            UpdateStatus(_activityData.IsWebPackInstallation ? "Copying Full Web Pack Installer to Local Temp Path" : "Copying HP Easy Start Installer to Local Temp Path");
            string localSetupFile = Path.Combine(Path.GetTempPath(), Path.GetFileName(_activityData.HpEasyStartInstallerPath));

            if (!File.Exists(localSetupFile))
            {
                File.Copy(_activityData.HpEasyStartInstallerPath, localSetupFile);
            }

            UpdateStatus(_activityData.IsWebPackInstallation ? "Launching the Full Web Pack Installer" : "Launching the HP Easy Start Installer");
            ProcessStartInfo pStartInfo = new ProcessStartInfo(localSetupFile)
            {
                UseShellExecute = true,
                Verb            = "runas"
            };

            Process.Start(pStartInfo);

            //Collate all the UI Maps to the TopCat Related Activity
            List <UIMaps.UIMap> installScreenList = new List <UIMaps.UIMap>
            {
                new HpEasyStartInstall("HP Easy Start Driver Download", printer.Address),
                new HpEasyDriverInstall("HP Easy Start Driver Installation", printer.Address, modelName, _activityData.PrintTestPage, _activityData.SetAsDefaultDriver)
            };

            for (int i = 0; i < installScreenList.Count; i++)
            {
                if (_activityData.IsWebPackInstallation && i == 0)
                {
                    continue;
                }
                else
                {
                    try
                    {
                        var result = installScreenList.ElementAt(i).PerformAction();
                        if (result.Result != PluginResult.Passed)
                        {
                            return(result);
                        }
                        Thread.Sleep(20);
                    }
                    catch (Exception)
                    {
                        return(new PluginExecutionResult(PluginResult.Error, $"Failed to proceed beyond {installScreenList.ElementAt(i).ScreenName}"));
                    }
                }
            }
            return(new PluginExecutionResult(PluginResult.Passed));
        }