Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public static DataSet GetTestTakersQuestionByPersonIdTestId(string personId, string testId)
        {
            DATestTakers objDATestTakers = new DATestTakers();

            return(objDATestTakers.GetTestTakersQuestionByPersonIdTestId(personId, testId));
        }
Example #4
0
        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);
        }