public void SetDefaultSALs(int assessmentId) { try { using (CSET_Context db = new CSET_Context()) { TinyMapper.Bind <STANDARD_SELECTION, Sals>(); TinyMapper.Bind <Sals, STANDARD_SELECTION>(); STANDARD_SELECTION standardSelection = db.STANDARD_SELECTION.Find(assessmentId); Sals sals = new Sals() { Selected_Sal_Level = "Low", Last_Sal_Determination_Type = "Simple", CLevel = "Low", ALevel = "Low", ILevel = "Low" }; standardSelection = TinyMapper.Map <STANDARD_SELECTION>(sals); standardSelection.Assessment_Id = assessmentId; standardSelection.Application_Mode = AssessmentModeData.DetermineDefaultApplicationMode(); db.STANDARD_SELECTION.Add(standardSelection); db.SaveChanges(); } } catch (Exception e) { throw (e); } }
public async Task <IHttpActionResult> PostSTANDARD_SELECTION(STANDARD_SELECTION sTANDARD_SELECTION) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.STANDARD_SELECTION.Add(sTANDARD_SELECTION); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (STANDARD_SELECTIONExists(sTANDARD_SELECTION.Assessment_Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = sTANDARD_SELECTION.Assessment_Id }, sTANDARD_SELECTION)); }
public AssessmentModeAndSal(int assessmentId) { using (var db = new CSET_Context()) { selection = db.STANDARD_SELECTION.Where(x => x.Assessment_Id == assessmentId).FirstOrDefault(); fullNameToChar = db.UNIVERSAL_SAL_LEVEL.ToDictionary(x => x.Full_Name_Sal, x => x.Universal_Sal_Level1); } }
/// <summary> /// Get the currently saved value, without regard for the sliders. /// This is used for the initial display of the Gen SAL screen before the user starts /// tweaking sliders. /// </summary> /// <param name="assessmentid"></param> /// <returns></returns> public string GetSavedSALValue(int assessmentid) { STANDARD_SELECTION sal = db.STANDARD_SELECTION.Where(ss => ss.Assessment_Id == assessmentid).FirstOrDefault(); if (sal == null) { // default to Low if we don't yet have a record return("Low"); } return(sal.Selected_Sal_Level); }
private Sals CalculateOveralls(int assessmentId, CSET_Context db) { Sals rval = CalculatedNist(assessmentId, db); STANDARD_SELECTION sTANDARD_SELECTION = db.STANDARD_SELECTION.Where(x => x.Assessment_Id == assessmentId).FirstOrDefault(); sTANDARD_SELECTION.Selected_Sal_Level = rval.Selected_Sal_Level; LevelManager lm = new LevelManager(assessmentId, db); lm.SaveOtherLevels(assessmentId, rval); db.SaveChanges(); return(rval); }
public IHttpActionResult GetSTANDARD_SELECTION() { try { int asssessmentId = Auth.AssessmentForUser(); TinyMapper.Bind <STANDARD_SELECTION, Sals>(); TinyMapper.Bind <Sals, STANDARD_SELECTION>(); STANDARD_SELECTION sTANDARD_SELECTION = db.STANDARD_SELECTION.Find(asssessmentId); Sals rsal; if (sTANDARD_SELECTION == null) { rsal = new Sals() { Selected_Sal_Level = "Low", Last_Sal_Determination_Type = "Simple", CLevel = "Low", ALevel = "Low", ILevel = "Low" }; sTANDARD_SELECTION = TinyMapper.Map <STANDARD_SELECTION>(rsal); sTANDARD_SELECTION.Assessment_Id = asssessmentId; sTANDARD_SELECTION.Application_Mode = AssessmentModeData.DetermineDefaultApplicationMode(); db.STANDARD_SELECTION.Add(sTANDARD_SELECTION); db.SaveChanges(); } else { rsal = TinyMapper.Map <Sals>(sTANDARD_SELECTION); } LevelManager lm = new LevelManager(asssessmentId, db); lm.RetrieveOtherLevels(rsal); StandardRepository sr = new StandardRepository(asssessmentId, lm, new StandardManager(), new AssessmentModeData(db, asssessmentId), new StandardSpecficLevelRepository(db)); sr.Confidence_Level = rsal.CLevel; sr.Integrity_Level = rsal.ILevel; sr.Availability_Level = rsal.ALevel; //if(!rsal.SelectedSALOverride) // rsal.Selected_Sal_Level = sr.Selected_Sal_Level; return(Ok(rsal)); } catch (Exception) { return(Conflict()); //return (HttpResponseMessage)CSETWeb_Api.Helpers.ElmahWrapper.LogAndReportException(e, Request, HttpContext.Current); } }
public OverallSalObject(ICollection <ASSESSMENT_SELECTED_LEVELS> collection, STANDARD_SELECTION sel) { PropertyInfo[] props = this.GetType().GetProperties(); Dictionary <String, PropertyInfo> propsMap = new Dictionary <string, PropertyInfo>(); foreach (var prop in props) { propsMap.Add(prop.Name, prop); } foreach (ASSESSMENT_SELECTED_LEVELS asl in collection) { propsMap[asl.Level_Name].SetValue(this, asl.Standard_Specific_Sal_Level, null); } Selected_Sal_Level = sel.Selected_Sal_Level; }
public AssessmentModeData(CSET_Context assessmentContextHolder, int assessmentId) { this.DataContext = assessmentContextHolder; this.standard = this.DataContext.STANDARD_SELECTION.Where(x => x.Assessment_Id == assessmentId).FirstOrDefault(); if (this.standard == null) { this.standard = new STANDARD_SELECTION() { Application_Mode = DetermineDefaultApplicationMode(), Assessment_Id = assessmentId, Selected_Sal_Level = Constants.SAL_LOW } } ; }
public void Init(STANDARD_SELECTION standard) { this.standard = standard; IEnumerable <UNIVERSAL_SAL_LEVEL> sals = db.UNIVERSAL_SAL_LEVEL.ToList(); sALLevelWithNoneList = sals.OrderBy(x => x.Sal_Level_Order).ToList(); SALLevelList = sals.Where(x => x.Full_Name_Sal != Constants.SAL_NONE).OrderBy(x => x.Sal_Level_Order).ToList(); DictionarySALs = sals.ToDictionary(x => x.Full_Name_Sal); DictionarySALs[Constants.SAL_NONE] = DictionarySALs[Constants.SAL_LOW];//Handle SAL None as Low SetSalLevel(standard.Selected_Sal_Level); //not needed for now //CreateCSET4SALLevelDictionary(SALLevelList); }
public async Task <IHttpActionResult> GetType([FromUri] String newType) { try { int asssessmentId = Auth.AssessmentForUser(); STANDARD_SELECTION sTANDARD_SELECTION = await db.STANDARD_SELECTION.FindAsync(asssessmentId); if (sTANDARD_SELECTION != null) { sTANDARD_SELECTION.Last_Sal_Determination_Type = newType; await db.SaveChangesAsync(); } return(Ok()); } catch (Exception e) { return((IHttpActionResult)CSETWeb_Api.Helpers.ElmahWrapper.LogAndReportException(e, Request, HttpContext.Current)); } }
/// <summary> /// Calculates the SAL based on the value of the sliders. /// The new calculated level is saved to the database. /// </summary> private string CalculateSAL(double weight) { string SALToReturn = Constants.SAL_LOW; foreach (double thresholdValue in this.SALThresholdDictionary.Keys) { if (weight >= thresholdValue) { SALToReturn = SALThresholdDictionary[thresholdValue]; } } // Persist the overall SAL to the database int assessmentId = Auth.AssessmentForUser(); STANDARD_SELECTION ss = db.STANDARD_SELECTION.Where(x => x.Assessment_Id == assessmentId).FirstOrDefault(); ss.Selected_Sal_Level = SALToReturn; db.SaveChanges(); return(SALToReturn); }
private void setdefault(CSET_Context db, int assessmentId) { TinyMapper.Bind <STANDARD_SELECTION, Sals>(); TinyMapper.Bind <Sals, STANDARD_SELECTION>(); STANDARD_SELECTION standardSelection = db.STANDARD_SELECTION.Find(assessmentId); Sals sals = new Sals() { Selected_Sal_Level = "Low", Last_Sal_Determination_Type = "Simple", CLevel = "Low", ALevel = "Low", ILevel = "Low" }; standardSelection = TinyMapper.Map <STANDARD_SELECTION>(sals); standardSelection.Assessment_Id = assessmentId; standardSelection.Application_Mode = AssessmentModeData.DetermineDefaultApplicationMode(); db.STANDARD_SELECTION.Add(standardSelection); db.SaveChanges(); }
public IHttpActionResult PostSAL(Sals tmpsal) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int assessmentId = Auth.AssessmentForUser(); TinyMapper.Bind <Sals, STANDARD_SELECTION>(); STANDARD_SELECTION sTANDARD_SELECTION = db.STANDARD_SELECTION.Where(x => x.Assessment_Id == assessmentId).FirstOrDefault(); if (sTANDARD_SELECTION != null) { sTANDARD_SELECTION = TinyMapper.Map <Sals, STANDARD_SELECTION>(tmpsal, sTANDARD_SELECTION); } else { sTANDARD_SELECTION = TinyMapper.Map <STANDARD_SELECTION>(tmpsal); } sTANDARD_SELECTION.Assessment_Id = assessmentId; db.Entry(sTANDARD_SELECTION).State = EntityState.Modified; LevelManager lm = new LevelManager(assessmentId, db); lm.SaveOtherLevels(assessmentId, tmpsal); lm.Init(sTANDARD_SELECTION); if (tmpsal.SelectedSALOverride) { lm.SaveSALLevel(tmpsal.Selected_Sal_Level); } try { db.SaveChanges(); StandardRepository sr = new StandardRepository(assessmentId, lm, new StandardManager(), new AssessmentModeData(db, assessmentId), new StandardSpecficLevelRepository(db)); sr.Confidence_Level = tmpsal.CLevel; sr.Integrity_Level = tmpsal.ILevel; sr.Availability_Level = tmpsal.ALevel; // save the newly-calculated overall value if (!tmpsal.SelectedSALOverride) { tmpsal.Selected_Sal_Level = sr.Selected_Sal_Level; lm.SaveSALLevel(tmpsal.Selected_Sal_Level); } return(Ok(tmpsal)); } catch (DbUpdateConcurrencyException dbe) { if (!STANDARD_SELECTIONExists(assessmentId)) { return(NotFound()); } else { throw dbe; } } catch (Exception e) { CSETWeb_Api.Helpers.ElmahWrapper.LogAndReportException(e, Request, HttpContext.Current); } return(StatusCode(HttpStatusCode.NoContent)); }