コード例 #1
0
        private void ReportNachTag_Status_Click_1(object sender, RoutedEventArgs e)
        {
            ReportPatchesByDate reportPatchStatus = new ReportPatchesByDate();

            reportPatchStatus.ShowDialog();

            if (reportPatchStatus.DialogResult.Value == true)
            {
                LoaderHelper.LoaderStart();

                ProcessStatusBar.Visibility = Visibility.Visible;
                ProcessStatusText.Content   = "Erstelle Report: Report Patches nach Tag";

                if (reportPatchStatus.DataFilter == null)
                {
                    DataFilter = new DataFilter();
                }
                else
                {
                    DataFilter = reportPatchStatus.DataFilter;
                }

                _progressBarValue = 25;

                (new Thread(() => {
                    var issues = dataController.GetPatchDataByDate(_connection.BaseURL, _connection.Token, DataFilter);
                    _progressBarValue = 25;
                    ReportController.CreateReportByDateReport(reportPatchStatus.DataType, issues);
                    _progressBarValue = 100;
                })).Start();
                ProcessStatusText.Content = "Beendet";
            }
        }
コード例 #2
0
        private void MenuItem_Click_3(object sender, RoutedEventArgs e)
        {
            LoaderHelper.LoaderStart();

            ProcessStatusBar.Visibility = Visibility.Visible;
            ProcessStatusText.Content   = "Erstelle Report: Zusammenfassender Report";

            _progressBarValue = 25;

            var dates = DateList.OrderByDescending(d => d).ToList();

            DataFilter = new DataFilter();

            DataFilter.SpecificDate = DateTime.Parse(dates.First());

            (new Thread(() => {
                var data = dataController.GetDateOpenClosedStats(_connection.BaseURL, _connection.Token, null);
                var issues = dataController.GetMostSecurityIssues(_connection.BaseURL, _connection.Token, DataFilter);
                var patches = dataController.GetPatchDataByDate(_connection.BaseURL, _connection.Token, DataFilter);
                _progressBarValue = 25;
                ReportController.CreateMasterStatusReport(ExportDataType.DATA_TYPE.HTML, data, issues, patches);
                _progressBarValue = 100;
            })).Start();
            ProcessStatusText.Content = "Beendet";
        }
コード例 #3
0
        private void MostVulerableIssuesMenuItem_Click(object sender, RoutedEventArgs e)
        {
            ReportMostVulnerableIssues reportMostVulnerableIssues = new ReportMostVulnerableIssues();

            reportMostVulnerableIssues.ShowDialog();

            if (reportMostVulnerableIssues.DialogResult.Value == true)
            {
                LoaderHelper.LoaderStart();

                ProcessStatusBar.Visibility = Visibility.Visible;
                ProcessStatusText.Content   = "Erstelle Report: Meisten Sicherheitslücken";

                if (reportMostVulnerableIssues.DataFilter == null)
                {
                    DataFilter = new DataFilter();
                }
                else
                {
                    DataFilter = reportMostVulnerableIssues.DataFilter;
                }

                _progressBarValue = 25;

                (new Thread(() => {
                    var issues = dataController.GetMostSecurityIssues(_connection.BaseURL, _connection.Token, DataFilter);
                    _progressBarValue = 25;
                    ReportController.CreateVulnReport(reportMostVulnerableIssues.DataType, issues);
                    _progressBarValue = 100;
                })).Start();
                ProcessStatusText.Content = "Beendet";
            }
        }
コード例 #4
0
        private void LoginCoroutine()
        {
            LoaderHelper.LoaderStart();

            if (_connection.BaseURL.Length > 0 && _connection.Username.Length > 0 && _connection.Password.Length > 0)
            {
                _connection.Token = dataController.Login(_connection.BaseURL,
                                                         new UserForLoginDto()
                {
                    Username = _connection.Username,
                    Password = _connection.Password
                });

                SaveLastLoginServer();

                if (_connection.Token == null)
                {
                    MessageBox.Show("Login fehlgeschlagen");
                }
                else
                {
                    MenuReportingCategory.IsEnabled = true;
                    ManageUsersMenuButton.IsEnabled = true;
                    RefreshData();
                }
            }
        }
コード例 #5
0
        private void RefreshData()
        {
            alreadyLoggedIn           = true;
            LoginMenuButton.IsEnabled = false;
            var data   = dataController.GetDateOpenClosedStats(_connection.BaseURL, _connection.Token, DataFilter);
            var issues = dataController.GetMostSecurityIssues(_connection.BaseURL, _connection.Token, DataFilter);

            DisplayTrendLine(data);
            DisplayOpenClosedPieChart(data);
            DisplayMostVulnerableIssues(issues);

            LoaderHelper.LoaderKill();
        }
コード例 #6
0
        private void LastestSecurityIssuesMenuItem_Click(object sender, RoutedEventArgs e)
        {
            if (DateList.Count > 1)
            {
                DateList.RemoveAt(DateList.Count - 1);                      //Den neusten Eintrag entfernen
                var dates = DateList.OrderByDescending(d => d).ToList();    //Von neusten zu am längsten her umsortieren

                ReportLatestSecurityIssues reportLatestSecurityIssues = new ReportLatestSecurityIssues(dates);
                reportLatestSecurityIssues.ShowDialog();

                if (reportLatestSecurityIssues.DialogResult == true)
                {
                    LoaderHelper.LoaderStart();

                    ProcessStatusBar.Visibility = Visibility.Visible;
                    ProcessStatusText.Content   = "Erstelle Report: Neuste Sicherheitslücken";
                    ProcessStatusBar.Value      = 10;

                    if (DataFilter == null)
                    {
                        DataFilter = new DataFilter();
                    }
                    DataFilter.DataSetCount = reportLatestSecurityIssues.DatesBack;

                    ExportDataType.DATA_TYPE dataType = reportLatestSecurityIssues.DataType;

                    (new Thread(() => {
                        var issues = dataController.GetLatestSecurityIssues(_connection.BaseURL, _connection.Token, DataFilter);
                        _progressBarValue = 25;
                        ReportController.CreateLatestReport(dataType, issues);
                    })).Start();
                }
            }
            else
            {
                MessageBox.Show("Noch nicht genug Daten gesammt um Report zu erstellen.");
            }
        }
コード例 #7
0
        private void MenuItem_Click_2(object sender, RoutedEventArgs e)
        {
            DateList.RemoveAt(DateList.Count - 1);                      //Den neusten Eintrag entfernen
            var dates = DateList.OrderByDescending(d => d).ToList();    //Von neusten zu am längsten her umsortieren

            ReportComplianceStatus reportPatchStatus = new ReportComplianceStatus(dates);

            reportPatchStatus.ShowDialog();

            if (reportPatchStatus.DialogResult.Value == true)
            {
                LoaderHelper.LoaderStart();

                ProcessStatusBar.Visibility = Visibility.Visible;
                ProcessStatusText.Content   = "Erstelle Report: Compliance Report";

                if (reportPatchStatus.DataFilter == null)
                {
                    DataFilter = new DataFilter();
                }
                else
                {
                    DataFilter = reportPatchStatus.DataFilter;
                }

                _progressBarValue = 25;

                (new Thread(() => {
                    var issues = dataController.GetFixedInPercent(_connection.BaseURL, _connection.Token, DataFilter);
                    _progressBarValue = 25;
                    ReportController.CreateComplianceStatusReport(reportPatchStatus.DataType, issues);
                    _progressBarValue = 100;
                })).Start();
                ProcessStatusText.Content = "Beendet";
            }
        }