public static void CheckRiskTypes(CreateThreat threat, RAAPEntities db) { db.RiskTypes.ForEach((Database.RiskType riskType) => { if (!threat.Risks.Any(r => r.Type == riskType.RiskTypeId)) { threat.Risks.Add(new Risk() { Type = riskType.RiskTypeId, Name = riskType.Name, }); } } ); threat.Controls.ForEach(c => CheckRiskTypes(c, db)); }
public static void CalculateRisk(CreateThreat threat) { threat.Risks.ForEach(CalculateRisk); threat.Risks.ForEach(r => threat.Controls.SelectMany(c => c.Risks.Where(cr => cr.Type == r.Type)).ForEach(ctr => ReduceRisk(r, ctr))); }