コード例 #1
0
 public Contracts.Control.Control Update(Contracts.Control.UpdateControl updateControl)
 {
     using (var db = new RAAPEntities(GetConnectionString()))
     {
         var process = db.Controls.FirstOrDefault(a => a.ControlId == updateControl.ControlId);
         if (process == null)
         {
             throw new RAAPNotFoundException("Item not found.");
         }
         RiskCalculator.CheckRiskTypes(updateControl, db);
         process.ApplyUpdate(updateControl, db);
         db.SaveChanges();
         return(process.ToContract(_userService));
     }
 }
コード例 #2
0
        public Contracts.Control.Control Create(Contracts.Control.CreateControl createControl)
        {
            using (var db = new RAAPEntities(GetConnectionString()))
            {
                if (db.Controls.Any(a => a.Name == createControl.Name))
                {
                    throw new RAAPConflictException("Name is already in use, please try another name.");
                }
                RiskCalculator.CheckRiskTypes(createControl, db);
                var process = createControl.ToDataModel(db);
                db.Controls.Add(process);

                db.SaveChanges();

                return(process.ToContract(_userService));
            }
        }
コード例 #3
0
 public Contracts.Process.Process Update(Contracts.Process.UpdateProcess updateProcess)
 {
     using (var db = new RAAPEntities(GetConnectionString()))
     {
         var process = db.Processes.FirstOrDefault(a => a.ProcessId == updateProcess.ProcessId);
         if (process == null)
         {
             throw new RAAPNotFoundException("Item not found.");
         }
         RiskCalculator.CheckRiskTypes(updateProcess, db);
         process.ApplyUpdate(updateProcess, db);
         RemoveUnusedAssets(process, updateProcess);
         AddAssets(db, process, updateProcess.Assets);
         RiskCalculator.CalculateRisk(process);
         db.SaveChanges();
         return(process.ToContract(_userService));
     }
 }
コード例 #4
0
        public Contracts.Threat.Threat Create(Contracts.Threat.CreateThreat createThreat)
        {
            using (var db = new RAAPEntities(GetConnectionString()))
            {
                if (db.Threats.Any(a => a.Name == createThreat.Name))
                {
                    throw new RAAPConflictException("Name is already in use, please try another name.");
                }
                RiskCalculator.CheckRiskTypes(createThreat, db);
                RiskCalculator.CalculateRisk(createThreat);
                var threat = createThreat.ToDataModel(db);
                db.Threats.Add(threat);
                AddControls(db, threat, createThreat.Controls);
                db.SaveChanges();

                return(threat.ToContract(_userService));
            }
        }
コード例 #5
0
 public Contracts.Threat.Threat Update(Contracts.Threat.UpdateThreat updateThreat)
 {
     using (var db = new RAAPEntities(GetConnectionString()))
     {
         var threat = db.Threats.Include("Controls").FirstOrDefault(a => a.ThreatId == updateThreat.ThreatId);
         if (threat == null)
         {
             throw new RAAPNotFoundException("Item not found.");
         }
         RiskCalculator.CheckRiskTypes(updateThreat, db);
         threat.ApplyUpdate(updateThreat, db);
         RemoveUnusedControls(threat, updateThreat);
         AddControls(db, threat, updateThreat.Controls);
         RiskCalculator.ResetCalculatedRisk(threat);
         RiskCalculator.CalculateRisk(threat);
         db.SaveChanges();
         return(threat.ToContract(_userService));
     }
 }
コード例 #6
0
        public Contracts.Process.Process Create(Contracts.Process.CreateProcess createProcess)
        {
            using (var db = new RAAPEntities(GetConnectionString()))
            {
                if (db.Processes.Any(a => a.Name == createProcess.Name))
                {
                    throw new RAAPConflictException("Name is already in use, please try another name.");
                }

                if (createProcess.Category == null)
                {
                    throw new RAAPConflictException("Category is not selected.");
                }
                RiskCalculator.CheckRiskTypes(createProcess, db);
                var process = createProcess.ToDataModel(db);
                AddAssets(db, process, createProcess.Assets);
                db.Processes.Add(process);
                RiskCalculator.CalculateRisk(process);
                db.SaveChanges();

                return(process.ToContract(_userService));
            }
        }