Пример #1
0
        internal static void SetAutomatedScanningScanner(Scanner ScannerToSet, string XML, string[,] XmlInjectionPoints)
        {
            if (UI.ASRequestTabs.InvokeRequired)
            {
                SetAutomatedScanningScanner_d SASS_d = new SetAutomatedScanningScanner_d(SetAutomatedScanningScanner);
                UI.Invoke(SASS_d, new object[] { ScannerToSet, XML, XmlInjectionPoints });
            }
            else
            {
                try
                {
                    Scanner.CurrentScanner = ScannerToSet;
                    Scanner.CurrentScanID = ScannerToSet.ID;
                    IronUI.FillConfigureScanFullFields(ScannerToSet.OriginalRequest);
                    UI.ASRequestTabs.SelectTab(0);
                    IronUI.UpdateScanTabsWithRequestData();
                    //if (ScannerToSet.BodyFormat.Name.Length > 0 && XmlInjectionPoints.Length > 0 && ScannerToSet.Status.Equals("Not Started"))
                    //    IronUI.FillConfigureScanFormatDetails(XML, XmlInjectionPoints, new List<bool>(), false, ScannerToSet.BodyFormat.Name);
                    UI.ScanIDLbl.Text = string.Format("Scan ID: {0}", ScannerToSet.ID);
                    UI.ScanStatusLbl.Text = string.Format("Scan Status: {0}", ScannerToSet.Status);
                    Scanner.ResetChangedStatus();
                    UI.ScanTopPanel.Visible = false;
                    UI.ScanJobsBaseSplit.SplitterDistance = 350;
                    UI.ScanDisplayPanel.Visible = true;
                }
                catch (Exception Exp)
                {
                    IronException.Report("Unable to display Request in 'Automated Scanning' section", Exp.Message, Exp.StackTrace);
                    IronUI.ShowConfigureScanException("Unable to display request");
                    return;
                }

                if (UI.ASScanPluginsGrid.Rows.Count > 0)
                {
                    UI.ASScanPluginsGrid.Rows[0].Cells[0].Value = false;
                    foreach (DataGridViewRow Row in UI.ASScanPluginsGrid.Rows)
                    {
                        if (Row.Index > 0)
                        {
                            Row.Cells[0].Value = ScannerToSet.ShowChecks().Contains(Row.Cells[1].Value.ToString());
                        }
                    }
                    if (UI.ASScanPluginsGrid.Rows.Count > 1)
                    {
                        bool AllSelected = true;
                        for (int i = 1; i < UI.ASScanPluginsGrid.Rows.Count; i++)
                        {
                            if (!(bool)UI.ASScanPluginsGrid.Rows[i].Cells[0].Value)
                            {
                                AllSelected = false;
                                break;
                            }
                        }
                        if (AllSelected) UI.ASScanPluginsGrid.Rows[0].Cells[0].Value = true;
                    }
                }

                if (ScannerToSet.SessionHandler.Name.Length > 0)
                    UI.SessionPluginLbl.Text = string.Format("Selection Plugin: {0}", ScannerToSet.SessionHandler.Name);
                else
                    UI.SessionPluginLbl.Text = "Selection Plugin: -";

                //UI.ASSessionPluginsCombo.Items.Add("");
                //int SelectedSessionPluginID = -1;
                //bool SelectedSessionPluginFound = false;
                //foreach (string Name in SessionPlugin.List())
                //{
                //    int ItemID = UI.ASSessionPluginsCombo.Items.Add(Name);
                //    if (!SelectedSessionPluginFound)
                //    {
                //        if (ScannerToSet.SessionHandler.Name.Equals(Name))
                //        {
                //            SelectedSessionPluginID = ItemID;
                //            SelectedSessionPluginFound = true;
                //        }
                //    }
                //}

                //if (SelectedSessionPluginID >= 0) UI.ASSessionPluginsCombo.SelectedIndex = SelectedSessionPluginID;
                try
                {
                    FillInjectionsPointsinUI(ScannerToSet);
                }
                catch (Exception Exp)
                {
                    IronException.Report("Error restoring 'Automated Scan' configuration information from DB", Exp.Message, Exp.StackTrace);
                    IronUI.ShowConfigureScanException("Error retriving scan information");
                }

                string ScanStatus = ScannerToSet.Status;
                if (ScanStatus.Equals("Completed"))
                {
                    UI.ASStartScanBtn.Text = "Scan Again";
                }
                else if (ScanStatus.Equals("Running"))
                {
                    UI.ASStartScanBtn.Text = "Stop Scan";
                }
                else if (ScanStatus.Equals("Not Started") || ScanStatus.Equals("Incomplete") || ScanStatus.Equals("Aborted") || ScanStatus.Equals("Stopped"))
                {
                    UI.ASStartScanBtn.Text = "Start Scan";
                }
                if (!UI.ASBaseTabs.SelectedTab.Name.Equals("ASRequestTab"))
                    UI.ASBaseTabs.SelectTab("ASRequestTab");
                UI.ASStartScanBtn.Enabled = true;
            }
        }