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)); } }
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)); } }
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)); } }
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)); } }
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)); } }
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)); } }