Ejemplo n.º 1
0
 public TelegramBotControlerSender(Telegram.Bot.TelegramBotClient bot)
 {
     modelUser            = new ModelUser();
     modelVulnerabilityDB = new ModelVulnerabilityDB();
     view     = new TelegramBotView();
     this.bot = bot;
 }
Ejemplo n.º 2
0
        void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            //MessageBox.Show("Worker completed");
            ModelVulnerabilityDB modelVulnerabilityDB = new ModelVulnerabilityDB();
            var emptyVuln                = modelVulnerabilityDB.GetAllEmptyVulnerabilities();
            var userVulnerabilityDBs     = new CRUDUserVulnerabilitesDB().GetObjects().ToList();
            AntColonyPheromone antColony = new AntColonyPheromone();

            foreach (var item in emptyVuln)
            {
                var     userVulns = userVulnerabilityDBs.Where(x => x.id == item.id).ToList();
                int[][] jArray    = new int[userVulns.Count][];
                int     index     = 0;

                foreach (var userVuln in userVulns)
                {
                    jArray[index] = new int[] { (int)userVuln.threats.GetValueOrDefault(),
                                                (int)userVuln.techDamage.GetValueOrDefault(), (int)userVuln.bizDamage.GetValueOrDefault() };
                    index++;
                }
                var rezult = antColony.Calculation(jArray);

                item.threats    = rezult[0];
                item.techDamage = rezult[1];
                item.bizDamage  = rezult[2];

                modelVulnerabilityDB.UpdateVulnerabilityDB(item);
            }

            DateTime dateTime = new DateTime();
            List <RiskScoreEntities> riskScoreEntities = new List <RiskScoreEntities>();

            dependencyVulnerabilityDBs = cdv.GetList();

            var path = pathToProject + "\\" + projectName;

            dependencyVulnerabilityDBs = dependencyVulnerabilityDBs.Where(x => x.fileScaning == path)
                                         .OrderBy(x => x.dateTime).ToList();

            foreach (DependencyVulnerabilityDB dependencyVulnerabilityDB in dependencyVulnerabilityDBs.ToList())
            {
                List <VulnerabilityDB> vulnerabilitiesNew = new List <VulnerabilityDB>();
                double sum = 0;

                foreach (VulnerabilityDB vulnerability in dependencyVulnerabilityDB.vulnerabilityDBs)
                {
                    vulnerabilitiesNew.Add(processDepend.SetParamsConsole(vulnerability));
                    sum += vulnerability.rezult.GetValueOrDefault();
                }

                dependencyVulnerabilityDB.vulnerabilityDBs = vulnerabilitiesNew;
                cdv.Save(dependencyVulnerabilityDB);

                if (dependencyVulnerabilityDB.dateTime != dateTime)
                {
                    dateTime = dependencyVulnerabilityDB.dateTime;
                    RiskScoreEntities risk = new RiskScoreEntities(dateTime);
                    riskScoreEntities.Add(risk);
                }

                riskScoreEntities.Find(x => x.dateTime == dateTime).AddDependencyVulnerabilityDBs(dependencyVulnerabilityDB);
                riskScoreEntities.Find(x => x.dateTime == dateTime).score += sum;
            }

            Table table = new Table(path);

            table.Show();
            this.Hide();
            foreach (RiskScoreEntities riskScore in riskScoreEntities)
            {
                Console.WriteLine(riskScore.score);
            }
            Console.ReadLine();
        }