示例#1
0
 public static void UpdateFrom(this ThreatRisk threatRisk, Contracts.Risk.Risk risk)
 {
     threatRisk.CalculatedIso             = risk.CalculatedIsoRisk;
     threatRisk.CalculatedNs              = risk.CalculatedNsRisk;
     threatRisk.IsoImpact                 = risk.IsoImpact;
     threatRisk.IsoProbability            = risk.IsoProbability;
     threatRisk.NsThreat                  = risk.NsThreat;
     threatRisk.NsValue                   = risk.NsValue;
     threatRisk.NsVulnerability           = risk.NsVulnerability;
     threatRisk.IsoRisk                   = risk.IsoRisk;
     threatRisk.NsRisk                    = risk.NsRisk;
     threatRisk.CalculatedIsoImpact       = risk.CalculatedIsoImpact;
     threatRisk.CalculatedIsoProbability  = risk.CalculatedIsoProbability;
     threatRisk.CalculatedNsThreat        = risk.CalculatedNsThreat;
     threatRisk.CalculatedNsValue         = risk.CalculatedNsValue;
     threatRisk.CalculatedNsVulnerability = risk.CalculatedNsVulnerability;
     threatRisk.Type = risk.Type;
 }
示例#2
0
 public static Contracts.Risk.Risk ToContract(this ThreatRisk risk)
 {
     return(new Contracts.Risk.Risk()
     {
         CalculatedIsoRisk = risk.CalculatedIso,
         CalculatedNsRisk = risk.CalculatedNs,
         IsoImpact = risk.IsoImpact,
         IsoProbability = risk.IsoProbability,
         NsThreat = risk.NsThreat,
         NsValue = risk.NsValue,
         NsVulnerability = risk.NsVulnerability,
         IsoRisk = risk.IsoRisk,
         NsRisk = risk.NsRisk,
         Type = risk.Type,
         Name = risk.RiskType.Name,
         RiskId = risk.ThreatRiskId,
         CalculatedIsoImpact = risk.CalculatedIsoImpact,
         CalculatedIsoProbability = risk.CalculatedIsoProbability,
         CalculatedNsThreat = risk.CalculatedNsThreat,
         CalculatedNsValue = risk.CalculatedNsValue,
         CalculatedNsVulnerability = risk.CalculatedNsVulnerability,
     });
 }
示例#3
0
        public Contracts.Risk.RiskType CreateRiskType(Contracts.Risk.RiskType riskType)
        {
            if (string.IsNullOrWhiteSpace(riskType.Name))
            {
                throw new RAAPConflictException("Invalid/missing name");
            }
            using (var db = new RAAPEntities(GetConnectionString()))
            {
                if (db.RiskTypes.Any(r => r.Name == riskType.Name.Trim()))
                {
                    throw new RAAPConflictException("Name is already in use, please try another name.");
                }
                var dbRiskType = riskType.ToDataModel();
                db.RiskTypes.Add(dbRiskType);
                foreach (var asset in db.Assets)
                {
                    var threatRisk = new ThreatRisk()
                    {
                        RiskType = dbRiskType,
                    };
                    RiskCalculator.ResetRisk(threatRisk);
                    asset.ThreatRisks.Add(threatRisk);
                }
                foreach (var threat in db.Threats)
                {
                    var threatRisk = new ThreatRisk()
                    {
                        RiskType = dbRiskType,
                    };
                    RiskCalculator.ResetRisk(threatRisk);
                    threat.ThreatRisks.Add(threatRisk);
                }

                foreach (var assetThreat in db.Asset_Threat)
                {
                    var threatRisk = new ThreatRisk()
                    {
                        RiskType = dbRiskType,
                    };
                    RiskCalculator.ResetRisk(threatRisk);
                    assetThreat.ThreatRisks.Add(threatRisk);
                }

                foreach (var control in db.Controls)
                {
                    var controlRisk = new ControlRisk()
                    {
                        RiskType = dbRiskType,
                    };
                    control.ControlRisks.Add(controlRisk);
                }

                foreach (var assetThreatControl in db.AssetThreat_Control)
                {
                    var controlRisk = new ControlRisk()
                    {
                        RiskType = dbRiskType,
                    };
                    assetThreatControl.ControlRisks.Add(controlRisk);
                }

                db.SaveChanges();
                return(dbRiskType.ToContract());
            }
        }