/// <summary>
        /// 保存用户考题
        /// 返回
        /// </summary>
        /// <param name="pSurveyTestId"></param>
        /// <param name="pAnswerList"></param>
        /// <returns></returns>
        public int SaveAnswerSheet(string pSurveyTestId, string pUserId, List <AnswerItem> pAnswerList, out decimal lastScore)
        {
            int     isPassed        = 0;
            decimal score           = 0;
            decimal outSocre        = 0;
            int     singleIsCorrect = -1;

            MLAnswerSheetBLL sheetBll      = new MLAnswerSheetBLL(_loggingSessionInfo);
            string           answerSheetId = Guid.NewGuid().ToString().Replace("-", "");

            foreach (var item in pAnswerList)
            {
                //保存答题
                singleIsCorrect = SaveAnswerSheetItem(answerSheetId, item.QuestionId, item.Answer, out outSocre);
                if (singleIsCorrect == 1)
                {
                    score += outSocre;
                }
            }

            //判断是否通过
            //条件:score>=PassScore
            QuestionnaireBLL    quesBll    = new QuestionnaireBLL(_loggingSessionInfo);
            QuestionnaireEntity quesEntity = quesBll.GetByID(pSurveyTestId);

            if (quesEntity != null)
            {
                if (score >= quesEntity.PassScore)
                {
                    isPassed = 1;
                }
                else
                {
                    isPassed = 0;
                }
            }

            lastScore = score;

            //保存考卷
            MLAnswerSheetEntity sheetEntity = new MLAnswerSheetEntity()
            {
                AnswerSheetId   = answerSheetId,
                AnswerTime      = DateTime.Now,
                CustomerID      = _loggingSessionInfo.CurrentUser.customer_id,
                IsDelete        = 0,
                IsPassed        = isPassed,
                QuestionnaireID = pSurveyTestId,
                Score           = score,
                UserId          = pUserId
            };

            sheetBll.Create(sheetEntity);
            return(isPassed);
        }
        public string GetLastAnswerSheet(string pRequest)
        {
            var rd     = new APIResponse <GetLastAnswerSheetRD>();
            var rdData = new GetLastAnswerSheetRD();

            var rp = pRequest.DeserializeJSONTo <APIRequest <GetLastAnswerSheetRP> >();

            if (rp.Parameters == null)
            {
                throw new ArgumentException();
            }

            if (rp.Parameters != null)
            {
                rp.Parameters.Validate();
            }

            var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID);

            try
            {
                SurveyTestDataAccess surveyTestManager = new SurveyTestDataAccess(loggingSessionInfo);
                MLAnswerSheetEntity  entity            = surveyTestManager.GetAnswerSheet(rp.Parameters.SurveyTestId, rp.UserID);
                if (entity != null)
                {
                    rdData.TestStatus = entity.IsPassed;
                    rdData.Score      = entity.Score;
                    rdData.AnswerList = surveyTestManager.GetAnswerSheetItem(entity.AnswerSheetId, rp.UserID);
                }
                else
                {
                    rdData.TestStatus = -1;
                }
            }
            catch (Exception ex)
            {
                rd.ResultCode = 103;
                rd.Message    = ex.Message;
            }
            rd.Data = rdData;
            return(rd.ToJSON());
        }
Exemple #3
0
 public void Update(MLAnswerSheetEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField, pTran);
 }
Exemple #4
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(MLAnswerSheetEntity pEntity, IDbTransaction pTran)
 {
     Update(pEntity, true, pTran);
 }
Exemple #5
0
 /// <summary>
 /// 在事务内创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Create(MLAnswerSheetEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Create(pEntity, pTran);
 }
Exemple #6
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(MLAnswerSheetEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Exemple #7
0
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <MLAnswerSheetEntity> PagedQueryByEntity(MLAnswerSheetEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
Exemple #8
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public MLAnswerSheetEntity[] QueryByEntity(MLAnswerSheetEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
Exemple #9
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(MLAnswerSheetEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
Exemple #10
0
 public void Update(MLAnswerSheetEntity pEntity, bool pIsUpdateNullField)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField);
 }
Exemple #11
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(MLAnswerSheetEntity pEntity)
 {
     Update(pEntity, true);
 }