protected override GetScoreRecoveryInformationRD ProcessRequest(APIRequest <GetQuestionnaireAnswerRecordRP> pRequest) { var rd = new GetScoreRecoveryInformationRD(); var para = pRequest.Parameters; T_QN_QuestionnaireAnswerRecordEntity model_QuestionnaireAnswerRecordEntity = null; var QuestionnaireAnswerRecordBLL = new T_QN_QuestionnaireAnswerRecordBLL(this.CurrentUserInfo); var QuestionnaireOptionCountBLL = new T_QN_QuestionnaireOptionCountBLL(this.CurrentUserInfo); var ScoreRecoveryInformationBLL = new T_QN_ScoreRecoveryInformationBLL(this.CurrentUserInfo); if (para != null) { if (para.VipID == null || para.VipID == "") { para.VipID = Guid.NewGuid().ToString(); } var SumScore = 0; var createqoc = new List <T_QN_QuestionnaireOptionCountEntity>(); var updateqoc = new List <T_QN_QuestionnaireOptionCountEntity>(); var createqar = new List <T_QN_QuestionnaireAnswerRecordEntity>(); for (int i = 0; i < para.QuestionnaireAnswerRecordlist.Count; i++) { var qarl = para.QuestionnaireAnswerRecordlist[i]; string AnswerOptionIDs = ""; #region 答题选项统计 if (qarl.optionlist != null) { for (int j = 0; j < qarl.optionlist.Count; j++) { var option = qarl.optionlist[j]; if (!(option.OptionID == null || option.OptionID == "" || option.OptionName == null || option.OptionName == "")) { AnswerOptionIDs += option.OptionID + ","; var model_qoce = QuestionnaireOptionCountBLL.isExist(option.OptionID, para.ActivityID); if (model_qoce != null) { model_qoce.SelectedCount += 1; } else { model_qoce = new T_QN_QuestionnaireOptionCountEntity(); model_qoce.CustomerID = this.CurrentUserInfo.ClientID; model_qoce.ActivityID = para.ActivityID; model_qoce.ActivityName = para.ActivityName; model_qoce.QuestionID = qarl.QuestionID; model_qoce.QuestionnaireID = para.QuestionnaireID; model_qoce.QuestionnaireName = para.QuestionnaireName; model_qoce.QuestionName = qarl.QuestionName; model_qoce.OptionID = option.OptionID; model_qoce.OptionName = option.OptionName; model_qoce.SelectedCount = 1; } if (model_qoce.QuestionnaireOptionCountID == null) { createqoc.Add(model_qoce); } else { updateqoc.Add(model_qoce); } } } } #endregion #region 新增答题记录 model_QuestionnaireAnswerRecordEntity = new T_QN_QuestionnaireAnswerRecordEntity { CustomerID = this.CurrentUserInfo.ClientID, ActivityID = para.ActivityID, ActivityName = para.ActivityName, AnswerAddress = qarl.AnswerAddress, AnswerCity = qarl.AnswerCity, AnswerCounty = qarl.AnswerCounty, AnswerDate = qarl.AnswerDate, AnswerOption = qarl.AnswerOption, AnswerOptionId = AnswerOptionIDs, AnswerProvince = qarl.AnswerProvince, AnswerText = qarl.AnswerText, QuestionID = qarl.QuestionID, QuestionidType = qarl.QuestionidType, QuestionnaireID = para.QuestionnaireID, QuestionnaireName = para.QuestionnaireName, QuestionName = qarl.QuestionName, QuestionScore = qarl.QuestionScore, VipID = para.VipID, Status = 1 }; SumScore += qarl.SumScore; createqar.Add(model_QuestionnaireAnswerRecordEntity); #endregion } #region 新增答题记录和修改记录数 var pTran = QuestionnaireAnswerRecordBLL.GetTran(); using (pTran.Connection) { try { for (int j = 0; j < createqoc.Count; j++) { QuestionnaireOptionCountBLL.Create(createqoc[j], pTran); } for (int j = 0; j < updateqoc.Count; j++) { QuestionnaireOptionCountBLL.Update(updateqoc[j], pTran); } for (int j = 0; j < createqar.Count; j++) { QuestionnaireAnswerRecordBLL.Create(createqar[j], pTran); } pTran.Commit();//提交事物 } catch (Exception ex) { pTran.Rollback(); throw new APIException(ex.Message); } #endregion } var QuestionnaireAnswerRecordID = model_QuestionnaireAnswerRecordEntity.QuestionnaireAnswerRecordID; #region 获取结束页展示数据 if (SumScore > 0) { T_QN_ScoreRecoveryInformationEntity[] list_ScoreRecoveryInformation = ScoreRecoveryInformationBLL.getScoreRecoveryInformationByScore(para.QuestionnaireID, SumScore.ToString()); if (list_ScoreRecoveryInformation.Length > 0) { T_QN_ScoreRecoveryInformationEntity tempentity = list_ScoreRecoveryInformation[0]; rd.RecoveryContent = tempentity.RecoveryContent; rd.RecoveryImg = tempentity.RecoveryImg; rd.RecoveryType = tempentity.RecoveryType; } } #endregion } return(rd); }
protected override SetScoreRecoveryRD ProcessRequest(APIRequest <SetScoreRecoveryRP> pRequest) { var rd = new SetScoreRecoveryRD(); var para = pRequest.Parameters; var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; T_QN_ScoreRecoveryInformationEntity model_ScoreRecoveryInformationEntity = null; var ScoreRecoveryBLL = new T_QN_ScoreRecoveryInformationBLL(loggingSessionInfo); if (para != null) { #region 验证分值段 bool isok = true; T_QN_ScoreRecoveryInformationEntity[] ScoreRecoveryInformationEntitylist = ScoreRecoveryBLL.getList(para.QuestionnaireID); for (int i = 0; i < ScoreRecoveryInformationEntitylist.Length; i++) { T_QN_ScoreRecoveryInformationEntity modelone = ScoreRecoveryInformationEntitylist[i]; if (!(para.ScoreRecoveryInformationID != null && modelone.ScoreRecoveryInformationID == para.ScoreRecoveryInformationID)) { if ((para.MinScore + 1) > modelone.MinScore && (para.MinScore - 1) < modelone.MaxScore) { isok = false; break; } if ((para.MaxScore + 1) > modelone.MinScore && (para.MaxScore - 1) < modelone.MaxScore) { isok = false; break; } if (para.MinScore < modelone.MinScore && para.MaxScore > modelone.MaxScore) { isok = false; break; } } } #endregion if (isok) { model_ScoreRecoveryInformationEntity = new T_QN_ScoreRecoveryInformationEntity { MaxScore = para.MaxScore, QuestionnaireID = para.QuestionnaireID, MinScore = para.MinScore, CustomerID = loggingSessionInfo.ClientID, RecoveryContent = para.RecoveryContent, RecoveryImg = para.RecoveryImg, RecoveryType = para.RecoveryType, ScoreRecoveryInformationID = para.ScoreRecoveryInformationID, Status = 1 }; if (para.ScoreRecoveryInformationID != null && para.ScoreRecoveryInformationID.ToString() != "") { ScoreRecoveryBLL.Update(model_ScoreRecoveryInformationEntity); } else { ScoreRecoveryBLL.Create(model_ScoreRecoveryInformationEntity); } rd.ScoreRecoveryInformationID = model_ScoreRecoveryInformationEntity.ScoreRecoveryInformationID.Value; rd.TesultValue = 0; } else { rd.ScoreRecoveryInformationID = null; rd.TesultValue = 1; } } return(rd); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(T_QN_ScoreRecoveryInformationEntity pEntity, IDbTransaction pTran) { _currentDAO.Update(pEntity, pTran); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(T_QN_ScoreRecoveryInformationEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <T_QN_ScoreRecoveryInformationEntity> PagedQueryByEntity(T_QN_ScoreRecoveryInformationEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public T_QN_ScoreRecoveryInformationEntity[] QueryByEntity(T_QN_ScoreRecoveryInformationEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }