public Q4ResultViewModel GetStudentQ4Result(Student student, Question Questionnaire) { var Q4 = db.Response_View .Where(d => d.學生編號 == student.ID && d.試卷編號 == Questionnaire.ID); Q4ResultViewModel result = new Q4ResultViewModel() { 橫坐標 = 0, 縱坐標 = 0 }; int i = 1; foreach (var item in Q4) { if (i < 11) { result.橫坐標 = result.橫坐標 + CalculateScore(item.反轉, item.選項編號); } else { result.縱坐標 = result.縱坐標 + CalculateScore(item.反轉, item.選項編號); } i++; } return(result); }
public Result_View CalculateResult(Student student, ResponseGoalService _responseGoalService, QuestionService _questionService) { bool haveResult = db.Result.Where(d => d.Student_ID == student.ID).Any(); if (haveResult == false) { List <Question> list = _questionService.GetQuestionnaireList(); ResponseGoal goal = _responseGoalService.GetGoal(student); Q2ResultViewModel q2 = GetStudentQ2Result(student, list[1]); int q3 = GetStudentQ3Result(student, list[2]); Q4ResultViewModel q4 = GetStudentQ4Result(student, list[3]); int[] importanceTop3 = ResponseImportanceSort(student); Result result = new Result() { Student_ID = student.ID, Goal_ID = goal.First_Goal_ID, DISC_Number = q2.Number, D = q2.D, I = q2.I, S = q2.S, C = q2.C, Ability = q3, Horizontal_Score = q4.橫坐標, Vertical_Score = q4.縱坐標, Top_1 = importanceTop3[0], Top_2 = importanceTop3[1], Top_3 = importanceTop3[2] }; db.Result.Add(result); db.SaveChanges(); } return(db.Result_View.Where(d => d.Student_ID == student.ID).FirstOrDefault()); }