public void SaveDiagram([FromBody] DiagramRequest req) { // get the assessment ID from the JWT TokenManager tm = new TokenManager(); int userId = (int)tm.PayloadInt(Constants.Token_UserId); int? assessmentId = tm.PayloadInt(Constants.Token_AssessmentId); lock (_object) { using (var db = new CSET_Context()) { try { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); XmlDocument xDoc = new XmlDocument(); if (string.IsNullOrEmpty(req.DiagramXml)) { req.DiagramXml = "<mxGraphModel grid=\"1\" gridSize=\"10\"><root><mxCell id=\"0\"><mxCell id=\"1\" parent=\"0\" /></mxCell></root></mxGraphModel>"; } xDoc.LoadXml(req.DiagramXml); dm.SaveDiagram((int)assessmentId, xDoc, req); } catch (Exception e) { throw e; } } } }
public List <ComponentSymbolGroup> GetComponentSymbols() { using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); return(dm.GetComponentSymbols()); } }
public IHttpActionResult GetAllSymbols() { using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); return(Ok(dm.GetAllComponentSymbols())); } }
public string GetDiagramImage() { int assessmentId = Auth.AssessmentForUser(); using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); return(dm.GetDiagramImage(assessmentId)); } }
public bool HasDiagram() { // get the assessment ID from the JWT TokenManager tm = new TokenManager(); int userId = (int)tm.PayloadInt(Constants.Token_UserId); int? assessmentId = tm.PayloadInt(Constants.Token_AssessmentId); using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); return(dm.HasDiagram((int)assessmentId)); } }
/// <summary> /// Set features based on existence of data. This is used for assessments that were /// created prior to incorporating features into the assessment data model. /// </summary> /// <param name="assessment"></param> private void DetermineFeaturesFromData(ref AssessmentDetail assessment, CSET_Context db) { var a = assessment; if (db.AVAILABLE_STANDARDS.Any(x => x.Assessment_Id == a.Id)) { assessment.UseStandard = true; } if (db.ASSESSMENT_DIAGRAM_COMPONENTS.Any(x => x.Assessment_Id == a.Id)) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); assessment.UseDiagram = dm.HasDiagram(a.Id); } // determine if there are maturity answers and attach maturity models var maturityAnswers = db.ANSWER.Where(x => x.Assessment_Id == a.Id && x.Question_Type.ToLower() == "maturity").ToList(); if (maturityAnswers.Count > 0) { assessment.UseMaturity = true; if (!db.AVAILABLE_MATURITY_MODELS.Any(x => x.Assessment_Id == a.Id)) { // determine the maturity models represented by the questions that have been answered var qqq = db.MATURITY_QUESTIONS.Where(q => maturityAnswers.Select(x => x.Question_Or_Requirement_Id).Contains(q.Mat_Question_Id)).ToList(); var maturityModelIds = qqq.Select(x => x.Maturity_Model_Id).Distinct().ToList(); foreach (var modelId in maturityModelIds) { var mm = new AVAILABLE_MATURITY_MODELS() { Assessment_Id = a.Id, model_id = modelId, Selected = true }; db.AVAILABLE_MATURITY_MODELS.Add(mm); db.SaveChanges(); // get the newly-attached model for the response var mmm = new MaturityManager(); assessment.MaturityModel = mmm.GetMaturityModel(a.Id); } } } SaveAssessmentDetail(a.Id, assessment); }
/// <summary> /// Set features based on existence of data. /// </summary> /// <param name="assessment"></param> private void DetermineFeaturesFromData(ref AssessmentDetail assessment, CSET_Context db) { var a = assessment; if (db.AVAILABLE_STANDARDS.Any(x => x.Assessment_Id == a.Id)) { assessment.UseStandard = true; } if (db.ASSESSMENT_DIAGRAM_COMPONENTS.Any(x => x.Assessment_Id == a.Id)) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); assessment.UseDiagram = dm.HasDiagram(a.Id); } }
public DiagramResponse GetDiagram() { // get the assessment ID from the JWT TokenManager tm = new TokenManager(); int userId = (int)tm.PayloadInt(Constants.Token_UserId); int? assessmentId = tm.PayloadInt(Constants.Token_AssessmentId); var response = new DiagramResponse(); using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); response = dm.GetDiagram((int)assessmentId); } var assessmentDetail = new AssessmentController().Get(); response.AssessmentName = assessmentDetail.AssessmentName; return(response); }
public List <IDiagramAnalysisNodeMessage> performAnalysis(DiagramRequest req, int assessmentId) { try { var messages = new List <IDiagramAnalysisNodeMessage>(); if (!string.IsNullOrEmpty(req.DiagramXml)) { using (var db = new CSET_Context()) { BusinessManagers.DiagramManager dm = new BusinessManagers.DiagramManager(db); XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(req.DiagramXml); DiagramAnalysis analysis = new DiagramAnalysis(db, assessmentId); messages = analysis.PerformAnalysis(xDoc); } } return(messages); }catch (Exception e) { throw e; } }