Esempio n. 1
0
        public ActionResult SaveForm(string keyValue, string measuresJson, RiskEntity entity)
        {
            if (entity.RiskType == "设备")
            {
                entity.DangerSource = entity.FaultType;
            }
            int count = riskbll.SaveForm(keyValue, entity);

            //保存关联的管控措施
            if (count > 0 && measuresJson.Length > 0)
            {
                if (measuresBLL.Remove(entity.Id) >= 0)
                {
                    List <MeasuresEntity> list          = Newtonsoft.Json.JsonConvert.DeserializeObject <List <MeasuresEntity> >(measuresJson);
                    HtStandardBLL         htstandardBLL = new HtStandardBLL();
                    foreach (MeasuresEntity measure in list)
                    {
                        if (measuresBLL.Save("", measure))
                        {
                            //HtStandardEntity htStandard = new HtStandardEntity();
                            //htStandard.DeptCode = entity.DeptCode;
                            //htStandard.Description = "【"+entity.AreaName+"】"+entity.Description;
                            //htStandard.Measures = measure.Content;
                            //htStandard.AreaId = entity.AreaId;
                            //htStandard.AreaName = entity.AreaName;
                            //htStandard.AreaCode = entity.AreaCode;
                            //htstandardBLL.SaveForm("", htStandard);
                        }
                    }
                }
            }
            return(Success("操作成功。"));
        }
Esempio n. 2
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public int SaveForm(string keyValue, RiskEntity entity)
 {
     try
     {
         return(service.SaveForm(keyValue, entity));
     }
     catch (Exception)
     {
         //throw;
         return(0);
     }
 }
Esempio n. 3
0
        private void MapMitigationSummaryVulnsByRisk(List <RiskEntity> riskEntities, Dashboard dashboard)
        {
            var highcharts = new Dictionary <int, Highchart>();

            // The first item should always be "All Risks" -- a complete list of unique RiskVulns from all the risks together.
            // Build up a list of RiskVulns
            var allRiskVulns = new List <RiskVulnerabilityEntity>();

            foreach (var riskEntity in riskEntities)
            {
                allRiskVulns.AddRange(riskEntity.RiskVulnerabilities);
            }

            // Create a new RiskEntity for our "All Risks" chart
            var allRisksEntity = new RiskEntity();

            allRisksEntity.Id        = 0;
            allRisksEntity.NameBytes = Encrypt("All Risks");

            // Add the complete list of distinct RiskVulns to the new RiskEntity
            allRisksEntity.RiskVulnerabilities = allRiskVulns.ToList();

            // Unshift the "All Risks" RiskEntity onto the beginning of our array of risks
            riskEntities.Insert(0, allRisksEntity);

            // Now we can create our array of Highcharts
            foreach (var riskEntity in riskEntities)
            {
                var highchart = new NamedHighchart();

                var vulnerabilitiesByThreatLevel = riskEntity.RiskVulnerabilities
                                                   .Select(x => x.Vulnerability)
                                                   .OrderBy(x => x.CvssScore)
                                                   .GroupBy(x => ThreatLevel.LookupByValue(x.CvssScore))
                                                   .ToList();

                // Skip this risk entity if there are no vulns associated with it
                if (vulnerabilitiesByThreatLevel.Count == 0)
                {
                    continue;
                }

                // Add each Severity bar in our three-bar columns (Moderate Severity, High Severity, Very High Severity)
                foreach (var threatLevelGroup in vulnerabilitiesByThreatLevel)
                {
                    var series = new Series
                    {
                        Name  = threatLevelGroup.Key.Name + " Severity",
                        Color = threatLevelGroup.Key.Color
                    };

                    // Guard against the Remediation Status being null
                    var defaultStatusValue = MitigationStatus.NotMitigated.Value;

                    // Add the data for each Remediation Status (Not Mitigated, Mitigation in Progress, etcetera)
                    foreach (var status in MitigationStatus.List)
                    {
                        var data = new Data
                        {
                            Name  = status.Name,
                            Value = threatLevelGroup.Count(x => (x.RemediationStatusId ?? defaultStatusValue) == status.Value),
                            Color = threatLevelGroup.Key.Color
                        };

                        series.Data.Add(data);
                    }

                    highchart.Series.Add(series);
                }

                // Decrypt the risk name and assign it as the title of the Highchart
                highchart.Name = Decrypt <string>(riskEntity.NameBytes);
                highcharts.Add(riskEntity.Id, highchart);
            }

            dashboard.MitigationSummaryRisks = highcharts;
        }
Esempio n. 4
0
        public static IQueryable <RiskEntity> initializeRiskData()
        {
            List <RiskEntity> objLstRiskEntity = new List <RiskEntity>();
            RiskEntity        item             = new RiskEntity();

            item.sampleDate = DateTime.Now;
            item.TotalRisk1 = 211125.2;
            item.TotalRisk2 = 2120.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item = new RiskEntity();
            DateTime temp = DateTime.Now;

            item.sampleDate = temp.AddDays(-1);
            item.TotalRisk1 = 221128.2;
            item.TotalRisk2 = 2218.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-4);
            item.TotalRisk1 = 231148.2;
            item.TotalRisk2 = 2302.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-7);
            item.TotalRisk1 = 241149.2;
            item.TotalRisk2 = 2100.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-10);
            item.TotalRisk1 = 251168.2;
            item.TotalRisk2 = 2100.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-13);
            item.TotalRisk1 = 241155.2;
            item.TotalRisk2 = 2102.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-16);
            item.TotalRisk1 = 251170.2;
            item.TotalRisk2 = 2198.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-19);
            item.TotalRisk1 = 261170.2;
            item.TotalRisk2 = 2098.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-22);
            item.TotalRisk1 = 271123.2;
            item.TotalRisk2 = 2102.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-25);
            item.TotalRisk1 = 261111.2;
            item.TotalRisk2 = 2092.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-28);
            item.TotalRisk1 = 271198.2;
            item.TotalRisk2 = 1976.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-31);
            item.TotalRisk1 = 271190.2;
            item.TotalRisk2 = 1768.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-34);
            item.TotalRisk1 = 281190.2;
            item.TotalRisk2 = 1768.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-37);
            item.TotalRisk1 = 271190.2;
            item.TotalRisk2 = 1868.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-40);
            item.TotalRisk1 = 281190.2;
            item.TotalRisk2 = 1568.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-46);
            item.TotalRisk1 = 3021128.2;
            item.TotalRisk2 = 1674.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            item            = new RiskEntity();
            item.sampleDate = temp.AddDays(-49);
            item.TotalRisk1 = 321140.2;
            item.TotalRisk2 = 1575.1;
            item.Risk       = item.TotalRisk1 - item.TotalRisk2;
            objLstRiskEntity.Add(item);

            return(objLstRiskEntity.AsQueryable());
        }