public void UpdateTestTakerStatusAsPresent(string testTakerId, DbTransaction trans) { DATestTakers objDATestTakers = new DATestTakers(); Dictionary <Enumaration.UpdateTestTakerOptionalKeys, Object> criteria = new Dictionary <Enumaration.UpdateTestTakerOptionalKeys, object>(); criteria.Add(Enumaration.UpdateTestTakerOptionalKeys.Status, Enumaration.TestTakerStatus.Present); criteria.Add(Enumaration.UpdateTestTakerOptionalKeys.StartedOn, DateTime.Now); objDATestTakers.UpdateTestTaker(testTakerId, criteria, trans); }
public DataSet GetExamSchedulesById(Int64 id) { DataSet ds = objDATest.GetExamSchedulesById(id); ds.Tables[0].TableName = Entities.Test.TABLE_NAME; DAExamTemplate oDAET = new DAExamTemplate(); DataSet dsET = oDAET.GetExamTemplatesById(ds.Tables[0].Rows[0][Entities.Test.TEST_TEMP_ID].ToString()); dsET.Tables[0].TableName = Entities.TestTemplate.TABLE_NAME; ds.Tables.Add(dsET.Tables[Entities.TestTemplate.TABLE_NAME].Copy()); DATestTakers oDATT = new DATestTakers(); DataSet dstt = oDATT.GetTestTakersByTestId(ds.Tables[0].Rows[0][Entities.Test.ID].ToString()); dstt.Tables[0].TableName = Entities.TestTakers.TABLE_NAME; ds.Tables.Add(dstt.Tables[Entities.TestTakers.TABLE_NAME].Copy()); return(ds); }
public static DataSet GetTestTakersQuestionByPersonIdTestId(string personId, string testId) { DATestTakers objDATestTakers = new DATestTakers(); return(objDATestTakers.GetTestTakersQuestionByPersonIdTestId(personId, testId)); }
public string CalculateResult(String request, String testTakerId) { string[] responses = request.Split('|'); DAAnswersPool oDAAnswersPool = new DAAnswersPool(); DataSet dsAnswers = oDAAnswersPool.GetAnswersByTestTakerId(testTakerId); DataTable dtAnswers = dsAnswers.Tables[0]; StringBuilder whereClause = new StringBuilder(" WHERE TEST_TAKER_ID =" + testTakerId + " and QUESTION_ID IN ("); StringBuilder caseClauseForStatus = new StringBuilder(" STATUS = CASE QUESTION_ID "); StringBuilder caseClauseForResponse = new StringBuilder(" SELECTED_ANSWER = CASE QUESTION_ID "); foreach (string response in responses) { if (string.IsNullOrEmpty(response) || response.Length <= 0) { continue; } string[] subResponse = response.Split('_'); string questionId = subResponse[1]; whereClause.Append(questionId + ","); string caseTemplate = " WHEN " + questionId + " THEN {0} "; string caseTemplateForResponse = " WHEN " + questionId + " THEN '{0}' "; int catId = int.Parse(subResponse[0]); if (catId.Equals((int)Enumaration.QuestionType.SingleSelection)) { CompileSingleSelectionResult(dtAnswers, caseClauseForStatus, caseClauseForResponse, subResponse, questionId, caseTemplate, caseTemplateForResponse); } else if (catId.Equals((int)Enumaration.QuestionType.Categorybased)) { //TODO CompileCategoryBasedResult(dtAnswers, caseClauseForStatus, caseClauseForResponse, subResponse, questionId, caseTemplate, caseTemplateForResponse); } else if (catId.Equals((int)Enumaration.QuestionType.MatchImagewithImage) || catId.Equals((int)Enumaration.QuestionType.MatchImagewithText) || catId.Equals((int)Enumaration.QuestionType.MapLocator) ) { CompileMatchImageWithImageAndMatchImageWithTextResult(dtAnswers, caseClauseForStatus, caseClauseForResponse, subResponse, questionId, caseTemplate, caseTemplateForResponse); } } string where = whereClause.ToString(); where = where.Substring(0, (where.Length - 1)) + ")"; DATestTakers oDATestTakers = new DATestTakers(); caseClauseForStatus.Append(" END "); caseClauseForResponse.Append(" END "); DataSet ds = oDATestTakers.PostResult(testTakerId, caseClauseForStatus.ToString(), caseClauseForResponse.ToString(), where); if (ds != null && ds.Tables[0].Columns.Contains("STATUS")) { if (ds.Tables[0].Rows[0]["STATUS"].ToString().Equals("3")) { return("3"); } else if (ds.Tables[0].Rows[0]["STATUS"].ToString().Equals("4")) { return("4"); } } return(string.Empty); }