private Object[] GetUserStatistics(DataTablesRequest dtRequest, Int32 eptId)
        {
            Int32     total, filter;
            String    sql, countSql;
            DataTable dataTable;

            Object[] sqlConditions;
            List <VMExaminationTaskUserStatistic> ms;
            List <SqlParameter> sps;

            sql           = "SELECT * FROM ExaminationTaskUserStatistic WHERE ETUS_PaperTemplateId = @eptId ";
            sqlConditions = GetSqlCondition(sql, dtRequest);
            sql           = (String)sqlConditions[0];
            sps           = (List <SqlParameter>)sqlConditions[1];
            sps.Add(new SqlParameter("@eptid", eptId));

            dataTable = olsDbo.GetDataTableWithStart(sql, sps, dtRequest.Length, dtRequest.Start);
            ms        = (List <VMExaminationTaskUserStatistic>) ModelConvert <VMExaminationTaskUserStatistic> .ConvertToModel(dataTable);

            countSql = sql.Replace("SELECT * FROM ", "SELECT COUNT(ETUS_TaskId) FROM ");
            total    = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));
            filter   = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));

            return(new Object[] { ms, total, filter });
        }
Exemplo n.º 2
0
        /*private String text, qType, qClassify, qContent, qOptionalAnswer, qModelAnswer;
         * private Boolean formatFlag, isContent;
         * private Byte difficultyCoefficient;
         * private Int32 score;
         * private StringBuilder errorIds;
         * private List<Question> readyQs;
         *
         * public Dictionary<String, String> ImportDocx(String filePath)
         * {
         *
         *  Dictionary<String, String> dic;
         *
         *  dic = new Dictionary<String, String>();
         *  dic.Add("Status", "0");
         *  dic.Add("Data", "");
         *  dic.Add("Message", "");
         *
         *  try
         *  {
         *
         *      List<DocxParagraph> docxPara;
         *      const String qTypes = "单选题;多选题;判断题;公文改错题;计算题;案例分析题;问答题;";
         *      DateTime now;
         *      Regex typeRegex, contentRegex1, contentRegex2, optionalAnswerRegex, modelAnswerRegex,
         *          difficultyCoefficientRegex, scoreRegex, digitRegex;
         *      Int32 i1, i2, len, qId, qcId;
         *      List<QuestionClassify> qcs;
         *      QuestionClassify classify;
         *
         *      formatFlag = true;
         *      errorIds = new StringBuilder();
         *
         *      docxPara = OpenXmlDocHelper.GetDocxParagraphs(filePath);
         *
         *      now = DateTime.Now;
         *
         *      typeRegex = new Regex(@"^题型[::]{1}");
         *      contentRegex1 = new Regex(@"^\s*\d+[\..、]"); // 示例:1.
         *      contentRegex2 = new Regex(@"^\s*\(.+\)|^\s*(.+)"); // 示例:(一) (一)
         *      optionalAnswerRegex = new Regex(@"^\s*[a-zA-Z]{1}[\..、]{1}"); // 示例:A. B. C.
         *      modelAnswerRegex = new Regex(@"^\s*((答案|参考答案){1}[::]{1})|【答】");
         *      difficultyCoefficientRegex = new Regex(@"^难度系数[::]{1}\d{1}");
         *      scoreRegex = new Regex(@"^分数[::]{1}\d+$");
         *      digitRegex = new Regex(@"\d+");
         *
         *      qType = "";
         *      qClassify = "";
         *      qContent = "";
         *      qOptionalAnswer = "";
         *      qModelAnswer = "";
         *      isContent = true;
         *
         *      readyQs = new List<Question>();
         *      qcs = new List<QuestionClassify>();
         *
         *      // 获取数据编号
         *      qId = GetQId();
         *      qcId = GetQCId();
         *
         *      difficultyCoefficient = 0;
         *      score = 0;
         *
         *      foreach (var para in docxPara)
         *      {
         *
         *          text = para.Text;
         *
         #region 添加试题数据
         *
         *          switch (qType)
         *          {
         *              case "单选题":
         *              case "多选题":
         *
         *                  if (qModelAnswer != "")
         *                  {
         *                      // 格式化单选题/多选题的答案
         *                      qOptionalAnswer = FormatOptionalAnswer(qOptionalAnswer);
         *                      qModelAnswer = FormatModelAnswer(qModelAnswer);
         *
         *                      AddQuestion(qId, qcId);
         *                  }
         *                  break;
         *              case "判断题":
         *              case "计算题":
         *              case "案例分析题":
         *              case "问答题":
         *
         *                  if ((contentRegex1.IsMatch(text) || typeRegex.IsMatch(text))
         *                      && qModelAnswer != "")
         *                  {
         *                      AddQuestion(qId, qcId);
         *                  }
         *
         *                  break;
         *
         *              case "公文改错题":
         *
         *                  if ((contentRegex2.IsMatch(text) || typeRegex.IsMatch(text))
         *                      && qModelAnswer != "")
         *                  {
         *                      AddQuestion(qId, qcId);
         *                  }
         *
         *                  break;
         *
         *              default:
         *                  break;
         *          }
         #endregion
         *
         #region 判断是否为分类行
         *
         *          // 此行为分类行
         *          if (text.IndexOf("分类:") == 0)
         *          {
         *              //TODO:添加分类数据,记录分类编号
         *              qClassify = text.Substring(3);
         *
         *              // 判断分类是否存在
         *              classify = olsEni.QuestionClassifies.SingleOrDefault(model => model.QC_Name == qClassify);
         *
         *              // 如果不存在,则新增
         *              if (null == classify)
         *              {
         *
         *                  qcs.Add(new QuestionClassify()
         *                  {
         *                      QC_Id = qcId,
         *                      QC_Name = qClassify,
         *                      QC_Level = "000" + qcId.ToString(),
         *                      QC_AddTime = now,
         *                      QC_Status = 4
         *                  });
         *                  qcId += 1;
         *              }
         *              else
         *              {
         *                  qcId = classify.QC_Id;
         *              }
         *
         *              continue;
         *          }
         *
         #endregion
         *
         #region 判断是否为题型行
         *
         *          // 此行为题型行
         *          if (typeRegex.IsMatch(text))
         *          {
         *
         *              qType = text.Substring(3);
         *              qType = qType.Replace("单项选择题", "单选题");
         *              qType = qType.Replace("多项选择题", "多选题");
         *
         *              if (qTypes.IndexOf(qType) == -1)
         *              {
         *                  //TODO:返回,提示“当前题型不支持导入”
         *                  dic["Message"] = "题型“" + qType + "”不支持导入。";
         *                  return dic;
         *              }
         *
         *              continue;
         *          }
         *
         #endregion
         *
         #region 判断是否为难度系数行
         *
         *          if (difficultyCoefficientRegex.IsMatch(text))
         *          {
         *              difficultyCoefficient = Convert.ToByte(digitRegex.Match(text).Value);
         *              continue;
         *          }
         *
         #endregion
         *
         #region 判断是否为分数行
         *
         *          if (scoreRegex.IsMatch(text))
         *          {
         *              score = Convert.ToInt32(digitRegex.Match(text).Value);
         *              continue;
         *          }
         *
         #endregion
         *
         #region 判断是否为试题内容行
         *
         *          //TODO:记录试题内容
         *          switch (qType)
         *          {
         *              case "单选题":
         *              case "多选题":
         *              case "判断题":
         *
         *                  if (contentRegex1.IsMatch(text))
         *                  {
         *
         *                      // 提取标准答案
         *                      text = contentRegex1.Replace(text, "");
         *                      qContent = text;
         *                      qContent = qContent.Replace("(", "(");
         *                      qContent = qContent.Replace(")", ")");
         *
         *                      i1 = qContent.LastIndexOf("(");
         *                      i2 = qContent.LastIndexOf(")");
         *
         *                      if (i1 == -1 || i2 == -1)
         *                      {
         *                          //TODO:返回提示格式错误
         *                          dic["Message"] = "题型格式有误。";
         *                          return dic;
         *                      }
         *
         *                      len = i2 - i1 - 1;
         *                      qModelAnswer = qContent.Substring(i1 + 1, len);
         *                      if (qModelAnswer != "")
         *                      {
         *                          qContent = qContent.Replace(qModelAnswer, "  ");
         *                          qModelAnswer = qModelAnswer.Trim();
         *                      }
         *                      else // 避免模板中没有设置答案时不添加试题
         *                      {
         *                          qModelAnswer = " ";
         *                      }
         *
         *                      continue;
         *
         *                  }
         *
         *                  break;
         *
         *              case "公文改错题":
         *              case "计算题":
         *              case "案例分析题":
         *              case "问答题":
         *
         *                  // 公文改错题;计算题;案例分析题;问答题;
         *                  // 判断是否为标准答案行
         *                  if (modelAnswerRegex.IsMatch(text))
         *                  {
         *
         *                      isContent = false;
         *
         *                      text = modelAnswerRegex.Replace(text, "");
         *                  }
         *
         *                  if (isContent)
         *                  {
         *
         *                      if ("公文改错题" == qType)
         *                      {
         *                          text = contentRegex2.Replace(text, "");
         *                      }
         *                      else
         *                      {
         *                          text = contentRegex1.Replace(text, "");
         *                      }
         *                      qContent += text + "\\r\\n";
         *                  }
         *
         *                  break;
         *
         *              default:
         *
         *                  break;
         *          }
         *
         #endregion
         *
         #region 判断是否为试题答案行
         *
         *          switch (qType)
         *          {
         *
         *              case "单选题":
         *              case "多选题":
         *
         *                  // 单选题;多选题;
         *                  // 判断是否为备选答案行
         *                  if (optionalAnswerRegex.IsMatch(text))
         *                  {
         *
         *                      qOptionalAnswer += text + " ";
         *                  }
         *
         *                  break;
         *
         *              case "公文改错题":
         *              case "计算题":
         *              case "案例分析题":
         *              case "问答题":
         *
         *                  if (!isContent)
         *                  {
         *                      //TODO:记录试题答案
         *                      qModelAnswer += text + "\\r\\n";
         *                  }
         *
         *                  break;
         *
         *              default:
         *                  break;
         *          }
         *
         #endregion
         *
         *      }
         *
         *      AddQuestion(qId, qcId);
         *
         *      foreach (var qc in qcs)
         *      {
         *          olsEni.QuestionClassifies.Add(qc);
         *      }
         *
         *      olsEni.SaveChanges();
         *
         *      foreach (var model in readyQs)
         *      {
         *          olsEni.Questions.Add(model);
         *      }
         *
         *      olsEni.SaveChanges();
         *
         *
         *      dic["Status"] = "1";
         *
         *      if (formatFlag)
         *      {
         *          dic["Message"] = "试题模板数据存在错误(" + errorIds.Remove(errorIds.Length - 2, 2).ToString() + ")。";
         *      }
         *
         *      return dic;
         *  }
         *  catch (Exception ex)
         *  {
         *      dic["Message"] = StaticHelper.GetExceptionMessageAndRecord(ex);
         *      return dic;
         *  }
         * }
         *
         * private void AddQuestion(Int32 qId, Int32 qcId)
         * {
         *
         *  qId += 1;
         *
         *  readyQs.Add(new Question()
         *  {
         *      Q_Id = qId,
         *      Q_Type = qType,
         *      QC_Id = qcId,
         *      Q_DifficultyCoefficient = difficultyCoefficient,
         *      Q_Score = SetDefaultScore(qType, score),
         *      Q_Content = qContent,
         *      Q_OptionalAnswer = qOptionalAnswer,
         *      Q_ModelAnswer = qModelAnswer,
         *      Q_AddTime = now,
         *      Q_Status = 4
         *  });
         *
         *  // 标识数据错误
         *  if (qOptionalAnswer == "{}" || qModelAnswer == "[]")
         *  {
         *      formatFlag = true;
         *      errorIds.Append(qId + ", ");
         *  }
         *
         *  difficultyCoefficient = 0;
         *  score = 0;
         *  qContent = "";
         *  qOptionalAnswer = "";
         *  qModelAnswer = "";
         *  isContent = true;
         * }*/

        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 qcId)
        {
            DataTablesResponse  dtResponse;
            QuestionClassify    qc;
            UModel <Question>   umodel;
            List <SqlParameter> sps;
            List <Question>     ms;

            umodel = new UModel <Question>(dtRequest, "Questions", "Q_Id");

            sps = new List <SqlParameter>();
            if (0 != qcId)
            {
                sps.Add(new SqlParameter("@QC_Id", qcId));
            }

            dtResponse = umodel.GetList(sps, "Q_Status", new String[] { "QC_Name" });

            ms = (List <Question>)dtResponse.data;
            foreach (var m1 in ms)
            {
                qc = olsEni.QuestionClassifies.SingleOrDefault(m => m.QC_Id == m1.QC_Id);
                if (null == qc)
                {
                    m1.QC_Name = "";
                    continue;
                }

                m1.QC_Name = qc.QC_Name;
            }

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, String taskName, DateTime beginTime, DateTime endTime)
        {
            String sql;
            DataTablesResponse dtResponse;
            UModel<VMExaminationTaskStatistic> umodel;
            List<SqlParameter> sps;

            umodel = new UModel<VMExaminationTaskStatistic>(dtRequest, "ExaminationTaskStatistic", "ETS_PaperTemplateId");

            sql = "SELECT * FROM ExaminationTaskStatistic ";

            sps = new List<SqlParameter>();
            if (taskName != "")
            {
                sps.Add(new SqlParameter("@LIKE_ETS_TaskName", "%" + taskName + "%"));
            }

            if (beginTime.Year != 1 && endTime.Year != 1)
            {
                endTime = endTime.AddHours(23).AddMinutes(59).AddSeconds(59);
                beginTime = beginTime.AddSeconds(-1);
                sps.Add(new SqlParameter("@GT_ETS_PaperTemplateDate", beginTime));
                sps.Add(new SqlParameter("@LT_ETS_PaperTemplateDate", endTime));
            }

            dtResponse = umodel.GetList(sql, sps);

            return dtResponse;
        }
Exemplo n.º 4
0
        private Object[] GetModels(DataTablesRequest dtRequest)
        {
            Int32     total, filter;
            String    sql, orderSql, countSql;
            DataTable dataTable;

            Object[]            sqlConditions;
            List <T>            ms;
            List <SqlParameter> sps;

            sql           = "SELECT * FROM " + tableName + " ";
            sqlConditions = GetSqlCondition(sql);
            sql           = (String)sqlConditions[0];
            sps           = (List <SqlParameter>)sqlConditions[1];
            orderSql      = (String)sqlConditions[2];

            dataTable = olsDbo.GetDataTableWithStart(sql + orderSql, sps, dtRequest.Length, dtRequest.Start);
            ms        = (List <T>) ModelConvert <T> .ConvertToModel(dataTable);

            countSql = sql.Replace("SELECT * FROM ", "SELECT COUNT(" + idFieldName + ") FROM ");
            total    = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));
            filter   = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));

            return(new Object[] { ms, total, filter });
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 uId, Byte type, Byte paperTemplateStatus)
        {
            DataTablesResponse dtResponse;
            Int32  recordsTotal, recordsFiltered;
            String orderColumn;

            Object[] modelData;


            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal            = olsEni.ExaminationPaperTemplates.Count();
            dtResponse.recordsTotal = recordsTotal;

            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            modelData = GetModels(dtRequest, uId, type, paperTemplateStatus);

            recordsFiltered            = (Int32)modelData[0];
            dtResponse.recordsFiltered = recordsFiltered;

            dtResponse.data = (List <ExaminationPaperTemplate>)modelData[1];

            return(dtResponse);
        }
Exemplo n.º 6
0
        internal DataTablesResponse ListDetailDataTablesAjax(DataTablesRequest dtRequest, Int32 uId, String taskName, DateTime beginTime, DateTime endTime)
        {
            String                     sql;
            DataTablesResponse         dtResponse;
            List <SqlParameter>        sps;
            UModel <VMUserScoreDetail> umodel;

            umodel = new UModel <VMUserScoreDetail>(dtRequest, "UserScoreDetails", "USD_UserId");

            sql = "SELECT * FROM UserScoreDetails ";

            sps = new List <SqlParameter>();
            sps.Add(new SqlParameter("@EQ_USD_UserId", uId));

            if (taskName != "")
            {
                sps.Add(new SqlParameter("@LIKE_USD_TaskName", "%" + taskName + "%"));
            }

            if (beginTime.Year != 1 && endTime.Year != 1)
            {
                endTime   = endTime.AddHours(23).AddMinutes(59).AddSeconds(59);
                beginTime = beginTime.AddSeconds(-1);
                sps.Add(new SqlParameter("@GT_USD_StartTime", beginTime));
                sps.Add(new SqlParameter("@LT_USD_StartTime", endTime));
            }

            dtResponse = umodel.GetList(sql, sps);

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, String taskName, DateTime beginTime, DateTime endTime)
        {
            String             sql;
            DataTablesResponse dtResponse;
            UModel <VMExaminationTaskStatistic> umodel;
            List <SqlParameter> sps;

            umodel = new UModel <VMExaminationTaskStatistic>(dtRequest, "ExaminationTaskStatistic", "ETS_PaperTemplateId");

            sql = "SELECT * FROM ExaminationTaskStatistic ";

            sps = new List <SqlParameter>();
            if (taskName != "")
            {
                sps.Add(new SqlParameter("@LIKE_ETS_TaskName", "%" + taskName + "%"));
            }

            if (beginTime.Year != 1 && endTime.Year != 1)
            {
                endTime   = endTime.AddHours(23).AddMinutes(59).AddSeconds(59);
                beginTime = beginTime.AddSeconds(-1);
                sps.Add(new SqlParameter("@GT_ETS_PaperTemplateDate", beginTime));
                sps.Add(new SqlParameter("@LT_ETS_PaperTemplateDate", endTime));
            }

            dtResponse = umodel.GetList(sql, sps);


            return(dtResponse);
        }
Exemplo n.º 8
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse       dtResponse;
            UModel <ExaminationTask> umodel;

            umodel     = new UModel <ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList("ET_Status");

            return(dtResponse);
        }
Exemplo n.º 9
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel <Duty>      umodel;

            umodel     = new UModel <Duty>(dtRequest, "Duties", "Du_Id");
            dtResponse = umodel.GetList("Du_Status", "Du_Sort");

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse            dtResponse;
            UModel <LearningDataCategory> umodel;

            umodel     = new UModel <LearningDataCategory>(dtRequest, "LearningDataCategories", "LDC_Id");
            dtResponse = umodel.GetList("LDC_Status", "LDC_Sort");

            return(dtResponse);
        }
Exemplo n.º 11
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel <Role>      umodel;

            umodel     = new UModel <Role>(dtRequest, "Roles", "R_Id");
            dtResponse = umodel.GetList("R_Status");

            return(dtResponse);
        }
Exemplo n.º 12
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse          dtResponse;
            UModel <PermissionCategory> umodel;

            umodel     = new UModel <PermissionCategory>(dtRequest, "PermissionCategories", "PC_Id");
            dtResponse = umodel.GetList("PC_Status");

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse        dtResponse;
            UModel <QuestionClassify> umodel;

            umodel     = new UModel <QuestionClassify>(dtRequest, "QuestionClassifies", "QC_Id");
            dtResponse = umodel.GetList("QC_Status");

            return(dtResponse);
        }
Exemplo n.º 14
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse  dtResponse;
            UModel <Department> umodel;

            umodel     = new UModel <Department>(dtRequest, "Departments", "D_Id");
            dtResponse = umodel.GetList("D_Status", "D_Sort");

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            Int32  recordsTotal, recordsFiltered;
            String whereSql, orderColumn;
            List <ExaminationPaper> ms;


            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal            = olsEni.ExaminationPapers.Count();
            dtResponse.recordsTotal = recordsTotal;


            //TODO:指定筛选条件
            whereSql = "";
            foreach (var col in dtRequest.Columns)
            {
                if ("" != col.Name)
                {
                    whereSql += col.Name + "||";
                }
            }

            //TODO:指定排序列
            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            ms =
                olsEni
                .ExaminationPapers
                .OrderBy(model => model.EP_Id)
                .Where(model =>
                       model.EP_UserName.Contains(dtRequest.SearchValue) &&
                       model.EP_Status != (Byte)Status.Delete)
                .ToList();

            recordsFiltered            = ms.Count();
            dtResponse.recordsFiltered = recordsFiltered;

            if (-1 != dtRequest.Length)
            {
                ms =
                    ms
                    .Skip(dtRequest.Start).Take(dtRequest.Length)
                    .ToList();
            }

            dtResponse.data = ms;

            return(dtResponse);
        }
Exemplo n.º 16
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Byte mode)
        {
            DataTablesResponse       dtResponse;
            List <SqlParameter>      sps;
            UModel <ExaminationTask> umodel;

            sps = new List <SqlParameter>();
            sps.Add(new SqlParameter("@ET_Mode", mode));
            umodel     = new UModel <ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList(sps, "ET_Status");

            return(dtResponse);
        }
Exemplo n.º 17
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel <SystemLog> umodel;
            List <SystemLog>   ms;

            umodel     = new UModel <SystemLog>(dtRequest, "SystemLogs", "SL_Id");
            dtResponse = umodel.GetList("SL_Status");

            ms = (List <SystemLog>)dtResponse.data;
            dtResponse.data = ms;

            return(dtResponse);
        }
Exemplo n.º 18
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<SystemLog> umodel;
            List<SystemLog> ms;

            umodel = new UModel<SystemLog>(dtRequest, "SystemLogs", "SL_Id");
            dtResponse = umodel.GetList("SL_Status");

            ms = (List<SystemLog>)dtResponse.data;
            dtResponse.data = ms;

            return dtResponse;
        }
Exemplo n.º 19
0
        internal DataTablesResponse ListDetailDataTablesAjax(DataTablesRequest dtRequest, Int32 uId)
        {
            DataTablesResponse         dtResponse;
            List <SqlParameter>        sps;
            UModel <VMUserScoreDetail> umodel;

            umodel = new UModel <VMUserScoreDetail>(dtRequest, "UserScoreDetails", "USD_UserId");

            sps = new List <SqlParameter>();
            sps.Add(new SqlParameter("@USD_UserId", uId));
            dtResponse = umodel.GetList("SELECT * FROM UserScoreDetails ", sps);

            return(dtResponse);
        }
        public DataTablesResponse ListDataTablesAjaxStudent(DataTablesRequest dtRequest, Int32 uId, Byte etType, Byte pageType)
        {
            DataTablesResponse dtResponse;
            UModel <VMExaminationStudentPaperTemplate> umodel;
            List <SqlParameter> sps;

            umodel = new UModel <VMExaminationStudentPaperTemplate>(dtRequest, "ExaminationStudentPaperTemplates", "ESPT_PaperTemplateId");
            sps    = new List <SqlParameter>();
            sps.Add(new SqlParameter("@EQ_ESPT_UserId", uId));
            sps.Add(new SqlParameter("@EQ_ESPT_TaskType", etType));
            sps.Add(new SqlParameter("@EQ_ESPT_PageType", pageType));
            dtResponse = umodel.GetList(sps);

            return(dtResponse);
        }
Exemplo n.º 21
0
        protected DataTablesRequest GetDataTablesRequest()
        {
            DataTablesRequest dtRequest;
            Int32 i;
            String data, orderable, searchable, searchRegex, orderDir;
            List<DataTablesColumn> columns;

            dtRequest = new DataTablesRequest();
            dtRequest.Draw = Convert.ToInt32(Request["draw"]);

            i = 0;
            columns = new List<DataTablesColumn>();

            while (null != Request["columns[" + i + "][name]"])
            {

                data = Request["columns[" + i + "][data]"];
                orderable = Request["columns[" + i + "][orderable]"];
                searchable = Request["columns[" + i + "][searchable]"];
                searchRegex = Request["columns[" + i + "][search][regex]"];

                columns.Add(new DataTablesColumn()
                {
                    Data = data,
                    Name = Request["columns[" + i + "][name]"],
                    Orderable = orderable == "true" ? true : false,
                    Searchable = searchable == "true" ? true : false,
                    SearchValue = Request["columns[" + i + "][search][value]"],
                    SearchRegex = searchRegex == "true" ? true : false
                });

                i += 1;
            }

            dtRequest.Columns = columns;

            dtRequest.Start = Convert.ToInt32(Request["start"]);
            dtRequest.Length = Convert.ToInt32(Request["length"]);
            dtRequest.OrderColumn = Convert.ToInt32(Request["order[0][column]"]);
            orderDir = Request["order[0][dir]"];
            dtRequest.OrderDir = "asc" == orderDir ? 0 : 1;
            dtRequest.SearchValue = Request["search[value]"];
            searchRegex = Request["search[regex]"];
            dtRequest.SearchRegex = "true" == searchRegex ? true : false;
            dtRequest.Status = null == Request["status"] ? Convert.ToByte(1) : Convert.ToByte(Request["status"]);

            return dtRequest;
        }
Exemplo n.º 22
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Byte type, Byte enabled, Int32 uId)
        {
            String                   sql;
            DataTablesResponse       dtResponse;
            List <SqlParameter>      sps;
            UModel <ExaminationTask> umodel;

            sql = "SELECT et.* FROM ExaminationTasks et LEFT JOIN ExaminationTaskAttendees eta ON et.ET_Id = eta.ET_Id ";
            sps = new List <SqlParameter>();
            sps.Add(new SqlParameter("@ET_Type", type));
            sps.Add(new SqlParameter("@ET_Enabled", enabled));
            sps.Add(new SqlParameter("@U_Id", uId));
            umodel     = new UModel <ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList(sql, sps, "ET_Status");

            return(dtResponse);
        }
Exemplo n.º 23
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 ldcId)
        {
            DataTablesResponse    dtResponse;
            UModel <LearningData> umodel;
            List <SqlParameter>   sps;

            sps = new List <SqlParameter>();
            if (0 != ldcId)
            {
                sps.Add(new SqlParameter("@LDC_Id", ldcId));
            }

            umodel     = new UModel <LearningData>(dtRequest, "LearningDatas", "LD_Id");
            dtResponse = umodel.GetList(sps, "LD_Status", "LD_Sort");

            return(dtResponse);
        }
Exemplo n.º 24
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 departmentId)
        {
            String              sql;
            DataTablesResponse  dtResponse;
            List <SqlParameter> sps;
            UModel <User>       umodel;
            List <User>         ms;

            umodel = new UModel <User>(dtRequest, "Users", "U_Id");

            sps = new List <SqlParameter>();
            if (0 != departmentId)
            {
                sps.Add(new SqlParameter("@D_Id", departmentId));
            }

            sql =
                "SELECT * FROM " +
                "    (" +
                "        SELECT  u.U_Id U_Id, " +
                "                u.U_Name U_Name, " +
                "                u.U_IdCardNumber U_IdCardNumber, " +
                "                u.U_AddTime U_AddTime, " +
                "                '**********' U_Password, " +
                "                u.U_Status U_Status, " +
                "                u.U_Sort U_Sort, " +
                "                d.D_Id D_Id, " +
                "                d.D_Name D_Name, " +
                "                D_Sort, " +
                "                du.Du_Name " +
                "        FROM    Users u " +
                "                LEFT JOIN User_Department ud ON u.U_Id = ud.U_Id" +
                "                LEFT JOIN Departments d ON d.D_Id = ud.D_Id " +
                "                LEFT JOIN Duties du ON du.Du_Id = u.Du_Id " +
                "    ) TmpTable ";
            umodel     = new UModel <User>(dtRequest, "Users", "U_Id");
            dtResponse = umodel.GetList(sql, sps, "U_Status", new String[] { "D_Sort", "U_Sort" }, new String[] { "Du_Name" });

            ms = (List <User>)dtResponse.data;
            dtResponse.data = ms;

            return(dtResponse);
        }
        public DataTablesResponse ListUserDataTablesAjax(DataTablesRequest dtRequest, Int32 eptId)
        {
            DataTablesResponse dtResponse;
            Int32 recordsTotal, recordsFiltered;
            Object[] modelData;
            List<VMExaminationTaskUserStatistic> ms;

            modelData = GetUserStatistics(dtRequest, eptId);
            ms = (List<VMExaminationTaskUserStatistic>)modelData[0];
            recordsTotal = (Int32)modelData[1];
            recordsFiltered = (Int32)modelData[2];

            dtResponse = new DataTablesResponse();
            dtResponse.draw = dtRequest.Draw;
            dtResponse.recordsTotal = recordsTotal;
            dtResponse.recordsFiltered = recordsFiltered;
            dtResponse.data = ms;

            return dtResponse;
        }
        public DataTablesResponse ListUserDataTablesAjax(DataTablesRequest dtRequest, Int32 eptId)
        {
            DataTablesResponse dtResponse;
            Int32 recordsTotal, recordsFiltered;

            Object[] modelData;
            List <VMExaminationTaskUserStatistic> ms;

            modelData       = GetUserStatistics(dtRequest, eptId);
            ms              = (List <VMExaminationTaskUserStatistic>)modelData[0];
            recordsTotal    = (Int32)modelData[1];
            recordsFiltered = (Int32)modelData[2];

            dtResponse                 = new DataTablesResponse();
            dtResponse.draw            = dtRequest.Draw;
            dtResponse.recordsTotal    = recordsTotal;
            dtResponse.recordsFiltered = recordsFiltered;
            dtResponse.data            = ms;

            return(dtResponse);
        }
Exemplo n.º 27
0
        protected Object[] GetSqlCondition(String sql, DataTablesRequest dtRequest)
        {
            String whereSql, orderSql;
            List <SqlParameter> sps;

            whereSql = "";
            sps      = new List <SqlParameter>();

            //TODO:指定筛选条件
            if ("" != dtRequest.SearchValue)
            {
                foreach (var col in dtRequest.Columns)
                {
                    if ("" != col.Name)
                    {
                        whereSql += col.Name + " LIKE @" + col.Name + " OR ";
                        sps.Add(new SqlParameter("@" + col.Name, "%" + dtRequest.SearchValue + "%"));
                    }
                }
            }

            if ("" != whereSql)
            {
                whereSql = whereSql.Substring(0, whereSql.Length - 3);

                sql += sql.IndexOf("WHERE ") == -1 ? "WHERE " + whereSql : "AND (" + whereSql + ")";
            }

            //TODO:指定排序列
            orderSql = dtRequest.Columns[dtRequest.OrderColumn].Name;
            if ("" != orderSql)
            {
                orderSql += dtRequest.OrderDir == 0 ? " ASC" : " DESC";

                sql += "ORDER BY " + orderSql;
            }

            return(new Object[] { sql, sps });
        }
Exemplo n.º 28
0
        internal DataTablesResponse ListSummaryDataTablesAjax(DataTablesRequest dtRequest, Int32 dId = 0)
        {
            DataTablesResponse          dtResponse;
            UModel <VMUserScoreSummary> umodel;
            List <SqlParameter>         sps;

            umodel = new UModel <VMUserScoreSummary>(dtRequest, "UserScoreSummaries", "USS_UserId");

            if (dId == 0)
            {
                dtResponse = umodel.GetList();
            }
            else
            {
                sps = new List <SqlParameter>();
                sps.Add(new SqlParameter("@USS_DepartmentId", dId));

                dtResponse = umodel.GetList(sps);
            }

            return(dtResponse);
        }
Exemplo n.º 29
0
        /*private String text, qType, qClassify, qContent, qOptionalAnswer, qModelAnswer;
        private Boolean formatFlag, isContent;
        private Byte difficultyCoefficient;
        private Int32 score;
        private StringBuilder errorIds;
        private List<Question> readyQs;

        public Dictionary<String, String> ImportDocx(String filePath)
        {

            Dictionary<String, String> dic;

            dic = new Dictionary<String, String>();
            dic.Add("Status", "0");
            dic.Add("Data", "");
            dic.Add("Message", "");

            try
            {

                List<DocxParagraph> docxPara;
                const String qTypes = "单选题;多选题;判断题;公文改错题;计算题;案例分析题;问答题;";
                DateTime now;
                Regex typeRegex, contentRegex1, contentRegex2, optionalAnswerRegex, modelAnswerRegex,
                    difficultyCoefficientRegex, scoreRegex, digitRegex;
                Int32 i1, i2, len, qId, qcId;
                List<QuestionClassify> qcs;
                QuestionClassify classify;

                formatFlag = true;
                errorIds = new StringBuilder();

                docxPara = OpenXmlDocHelper.GetDocxParagraphs(filePath);

                now = DateTime.Now;

                typeRegex = new Regex(@"^题型[::]{1}");
                contentRegex1 = new Regex(@"^\s*\d+[\..、]"); // 示例:1.
                contentRegex2 = new Regex(@"^\s*\(.+\)|^\s*(.+)"); // 示例:(一) (一)
                optionalAnswerRegex = new Regex(@"^\s*[a-zA-Z]{1}[\..、]{1}"); // 示例:A. B. C.
                modelAnswerRegex = new Regex(@"^\s*((答案|参考答案){1}[::]{1})|【答】");
                difficultyCoefficientRegex = new Regex(@"^难度系数[::]{1}\d{1}");
                scoreRegex = new Regex(@"^分数[::]{1}\d+$");
                digitRegex = new Regex(@"\d+");

                qType = "";
                qClassify = "";
                qContent = "";
                qOptionalAnswer = "";
                qModelAnswer = "";
                isContent = true;

                readyQs = new List<Question>();
                qcs = new List<QuestionClassify>();

                // 获取数据编号
                qId = GetQId();
                qcId = GetQCId();

                difficultyCoefficient = 0;
                score = 0;

                foreach (var para in docxPara)
                {

                    text = para.Text;

                    #region 添加试题数据

                    switch (qType)
                    {
                        case "单选题":
                        case "多选题":

                            if (qModelAnswer != "")
                            {
                                // 格式化单选题/多选题的答案
                                qOptionalAnswer = FormatOptionalAnswer(qOptionalAnswer);
                                qModelAnswer = FormatModelAnswer(qModelAnswer);

                                AddQuestion(qId, qcId);
                            }
                            break;
                        case "判断题":
                        case "计算题":
                        case "案例分析题":
                        case "问答题":

                            if ((contentRegex1.IsMatch(text) || typeRegex.IsMatch(text))
                                && qModelAnswer != "")
                            {
                                AddQuestion(qId, qcId);
                            }

                            break;

                        case "公文改错题":

                            if ((contentRegex2.IsMatch(text) || typeRegex.IsMatch(text))
                                && qModelAnswer != "")
                            {
                                AddQuestion(qId, qcId);
                            }

                            break;

                        default:
                            break;
                    }
                    #endregion

                    #region 判断是否为分类行

                    // 此行为分类行
                    if (text.IndexOf("分类:") == 0)
                    {
                        //TODO:添加分类数据,记录分类编号
                        qClassify = text.Substring(3);

                        // 判断分类是否存在
                        classify = olsEni.QuestionClassifies.SingleOrDefault(model => model.QC_Name == qClassify);

                        // 如果不存在,则新增
                        if (null == classify)
                        {

                            qcs.Add(new QuestionClassify()
                            {
                                QC_Id = qcId,
                                QC_Name = qClassify,
                                QC_Level = "000" + qcId.ToString(),
                                QC_AddTime = now,
                                QC_Status = 4
                            });
                            qcId += 1;
                        }
                        else
                        {
                            qcId = classify.QC_Id;
                        }

                        continue;
                    }

                    #endregion

                    #region 判断是否为题型行

                    // 此行为题型行
                    if (typeRegex.IsMatch(text))
                    {

                        qType = text.Substring(3);
                        qType = qType.Replace("单项选择题", "单选题");
                        qType = qType.Replace("多项选择题", "多选题");

                        if (qTypes.IndexOf(qType) == -1)
                        {
                            //TODO:返回,提示“当前题型不支持导入”
                            dic["Message"] = "题型“" + qType + "”不支持导入。";
                            return dic;
                        }

                        continue;
                    }

                    #endregion

                    #region 判断是否为难度系数行

                    if (difficultyCoefficientRegex.IsMatch(text))
                    {
                        difficultyCoefficient = Convert.ToByte(digitRegex.Match(text).Value);
                        continue;
                    }

                    #endregion

                    #region 判断是否为分数行

                    if (scoreRegex.IsMatch(text))
                    {
                        score = Convert.ToInt32(digitRegex.Match(text).Value);
                        continue;
                    }

                    #endregion

                    #region 判断是否为试题内容行

                    //TODO:记录试题内容
                    switch (qType)
                    {
                        case "单选题":
                        case "多选题":
                        case "判断题":

                            if (contentRegex1.IsMatch(text))
                            {

                                // 提取标准答案
                                text = contentRegex1.Replace(text, "");
                                qContent = text;
                                qContent = qContent.Replace("(", "(");
                                qContent = qContent.Replace(")", ")");

                                i1 = qContent.LastIndexOf("(");
                                i2 = qContent.LastIndexOf(")");

                                if (i1 == -1 || i2 == -1)
                                {
                                    //TODO:返回提示格式错误
                                    dic["Message"] = "题型格式有误。";
                                    return dic;
                                }

                                len = i2 - i1 - 1;
                                qModelAnswer = qContent.Substring(i1 + 1, len);
                                if (qModelAnswer != "")
                                {
                                    qContent = qContent.Replace(qModelAnswer, "  ");
                                    qModelAnswer = qModelAnswer.Trim();
                                }
                                else // 避免模板中没有设置答案时不添加试题
                                {
                                    qModelAnswer = " ";
                                }

                                continue;

                            }

                            break;

                        case "公文改错题":
                        case "计算题":
                        case "案例分析题":
                        case "问答题":

                            // 公文改错题;计算题;案例分析题;问答题;
                            // 判断是否为标准答案行
                            if (modelAnswerRegex.IsMatch(text))
                            {

                                isContent = false;

                                text = modelAnswerRegex.Replace(text, "");
                            }

                            if (isContent)
                            {

                                if ("公文改错题" == qType)
                                {
                                    text = contentRegex2.Replace(text, "");
                                }
                                else
                                {
                                    text = contentRegex1.Replace(text, "");
                                }
                                qContent += text + "\\r\\n";
                            }

                            break;

                        default:

                            break;
                    }

                    #endregion

                    #region 判断是否为试题答案行

                    switch (qType)
                    {

                        case "单选题":
                        case "多选题":

                            // 单选题;多选题;
                            // 判断是否为备选答案行
                            if (optionalAnswerRegex.IsMatch(text))
                            {

                                qOptionalAnswer += text + " ";
                            }

                            break;

                        case "公文改错题":
                        case "计算题":
                        case "案例分析题":
                        case "问答题":

                            if (!isContent)
                            {
                                //TODO:记录试题答案
                                qModelAnswer += text + "\\r\\n";
                            }

                            break;

                        default:
                            break;
                    }

                    #endregion

                }

                AddQuestion(qId, qcId);

                foreach (var qc in qcs)
                {
                    olsEni.QuestionClassifies.Add(qc);
                }

                olsEni.SaveChanges();

                foreach (var model in readyQs)
                {
                    olsEni.Questions.Add(model);
                }

                olsEni.SaveChanges();

                dic["Status"] = "1";

                if (formatFlag)
                {
                    dic["Message"] = "试题模板数据存在错误(" + errorIds.Remove(errorIds.Length - 2, 2).ToString() + ")。";
                }

                return dic;
            }
            catch (Exception ex)
            {
                dic["Message"] = StaticHelper.GetExceptionMessageAndRecord(ex);
                return dic;
            }
        }

        private void AddQuestion(Int32 qId, Int32 qcId)
        {

            qId += 1;

            readyQs.Add(new Question()
            {
                Q_Id = qId,
                Q_Type = qType,
                QC_Id = qcId,
                Q_DifficultyCoefficient = difficultyCoefficient,
                Q_Score = SetDefaultScore(qType, score),
                Q_Content = qContent,
                Q_OptionalAnswer = qOptionalAnswer,
                Q_ModelAnswer = qModelAnswer,
                Q_AddTime = now,
                Q_Status = 4
            });

            // 标识数据错误
            if (qOptionalAnswer == "{}" || qModelAnswer == "[]")
            {
                formatFlag = true;
                errorIds.Append(qId + ", ");
            }

            difficultyCoefficient = 0;
            score = 0;
            qContent = "";
            qOptionalAnswer = "";
            qModelAnswer = "";
            isContent = true;
        }*/
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 qcId)
        {
            DataTablesResponse dtResponse;
            QuestionClassify qc;
            UModel<Question> umodel;
            List<SqlParameter> sps;
            List<Question> ms;

            umodel = new UModel<Question>(dtRequest, "Questions", "Q_Id");

            sps = new List<SqlParameter>();
            if (0 != qcId)
            {
                sps.Add(new SqlParameter("@QC_Id", qcId));
            }

            dtResponse = umodel.GetList(sps, "Q_Status", new String[] { "QC_Name" });

            ms = (List<Question>)dtResponse.data;
            foreach (var m1 in ms)
            {

                qc = olsEni.QuestionClassifies.SingleOrDefault(m => m.QC_Id == m1.QC_Id);
                if (null == qc)
                {
                    m1.QC_Name = "";
                    continue;
                }

                m1.QC_Name = qc.QC_Name;
            }

            return dtResponse;
        }
        private Object[] GetUserStatistics(DataTablesRequest dtRequest, Int32 eptId)
        {
            Int32 total, filter;
            String sql, countSql;
            DataTable dataTable;
            Object[] sqlConditions;
            List<VMExaminationTaskUserStatistic> ms;
            List<SqlParameter> sps;

            sql = "SELECT * FROM ExaminationTaskUserStatistic WHERE ETUS_PaperTemplateId = @eptId ";
            sqlConditions = GetSqlCondition(sql, dtRequest);
            sql = (String)sqlConditions[0];
            sps = (List<SqlParameter>)sqlConditions[1];
            sps.Add(new SqlParameter("@eptid", eptId));

            dataTable = olsDbo.GetDataTableWithStart(sql, sps, dtRequest.Length, dtRequest.Start);
            ms = (List<VMExaminationTaskUserStatistic>)ModelConvert<VMExaminationTaskUserStatistic>.ConvertToModel(dataTable);

            countSql = sql.Replace("SELECT * FROM ", "SELECT COUNT(ETUS_TaskId) FROM ");
            total = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));
            filter = Convert.ToInt32(olsDbo.ExecuteSqlScalar(countSql, sps));

            return new Object[] { ms, total, filter };
        }
Exemplo n.º 31
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<QuestionClassify> umodel;

            umodel = new UModel<QuestionClassify>(dtRequest, "QuestionClassifies", "QC_Id");
            dtResponse = umodel.GetList("QC_Status");

            return dtResponse;
        }
Exemplo n.º 32
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            Int32 recordsTotal, recordsFiltered;
            String whereSql, orderColumn;
            List<ExaminationPaper> ms;

            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal = olsEni.ExaminationPapers.Count();
            dtResponse.recordsTotal = recordsTotal;

            //TODO:指定筛选条件
            whereSql = "";
            foreach (var col in dtRequest.Columns)
            {

                if ("" != col.Name)
                {

                    whereSql += col.Name + "||";
                }
            }

            //TODO:指定排序列
            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            ms =
                olsEni
                .ExaminationPapers
                .OrderBy(model => model.EP_Id)
                .Where(model =>
                    model.EP_UserName.Contains(dtRequest.SearchValue)
                    && model.EP_Status != (Byte)Status.Delete)
                .ToList();

            recordsFiltered = ms.Count();
            dtResponse.recordsFiltered = recordsFiltered;

            if (-1 != dtRequest.Length)
            {
                ms =
                    ms
                    .Skip(dtRequest.Start).Take(dtRequest.Length)
                    .ToList();
            }

            dtResponse.data = ms;

            return dtResponse;
        }
Exemplo n.º 33
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Byte type, Byte enabled, Int32 uId)
        {
            String sql;
            DataTablesResponse dtResponse;
            List<SqlParameter> sps;
            UModel<ExaminationTask> umodel;

            sql = "SELECT et.* FROM ExaminationTasks et LEFT JOIN ExaminationTaskAttendees eta ON et.ET_Id = eta.ET_Id ";
            sps = new List<SqlParameter>();
            sps.Add(new SqlParameter("@ET_Type", type));
            sps.Add(new SqlParameter("@ET_Enabled", enabled));
            sps.Add(new SqlParameter("@U_Id", uId));
            umodel = new UModel<ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList(sql, sps, "ET_Status");

            return dtResponse;
        }
Exemplo n.º 34
0
        protected Object[] GetSqlCondition(String sql, DataTablesRequest dtRequest)
        {
            String whereSql, orderSql;
            List<SqlParameter> sps;

            whereSql = "";
            sps = new List<SqlParameter>();

            //TODO:指定筛选条件
            if ("" != dtRequest.SearchValue)
            {

                foreach (var col in dtRequest.Columns)
                {

                    if ("" != col.Name)
                    {

                        whereSql += col.Name + " LIKE @" + col.Name + " OR ";
                        sps.Add(new SqlParameter("@" + col.Name, "%" + dtRequest.SearchValue + "%"));
                    }
                }
            }

            if ("" != whereSql)
            {
                whereSql = whereSql.Substring(0, whereSql.Length - 3);

                sql += sql.IndexOf("WHERE ") == -1 ? "WHERE " + whereSql : "AND (" + whereSql + ")";
            }

            //TODO:指定排序列
            orderSql = dtRequest.Columns[dtRequest.OrderColumn].Name;
            if ("" != orderSql)
            {
                orderSql += dtRequest.OrderDir == 0 ? " ASC" : " DESC";

                sql += "ORDER BY " + orderSql;
            }

            return new Object[] { sql, sps };
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<LearningDataCategory> umodel;

            umodel = new UModel<LearningDataCategory>(dtRequest, "LearningDataCategories", "LDC_Id");
            dtResponse = umodel.GetList("LDC_Status", "LDC_Sort");

            return dtResponse;
        }
Exemplo n.º 36
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<Role> umodel;

            umodel = new UModel<Role>(dtRequest, "Roles", "R_Id");
            dtResponse = umodel.GetList("R_Status");

            return dtResponse;
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<PermissionCategory> umodel;

            umodel = new UModel<PermissionCategory>(dtRequest, "PermissionCategories", "PC_Id");
            dtResponse = umodel.GetList("PC_Status");

            return dtResponse;
        }
        public DataTablesResponse ListDataTablesAjaxStudent(DataTablesRequest dtRequest, Int32 uId, Byte etType, Byte pageType)
        {
            DataTablesResponse dtResponse;
            UModel<VMExaminationStudentPaperTemplate> umodel;
            List<SqlParameter> sps;

            umodel = new UModel<VMExaminationStudentPaperTemplate>(dtRequest, "ExaminationStudentPaperTemplates", "ESPT_PaperTemplateId");
            sps = new List<SqlParameter>();
            sps.Add(new SqlParameter("@EQ_ESPT_UserId", uId));
            sps.Add(new SqlParameter("@EQ_ESPT_TaskType", etType));
            sps.Add(new SqlParameter("@EQ_ESPT_PageType", pageType));
            dtResponse = umodel.GetList(sps);

            return dtResponse;
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 uId, Byte type, Byte paperTemplateStatus)
        {
            DataTablesResponse dtResponse;
            Int32 recordsTotal, recordsFiltered;
            String orderColumn;
            Object[] modelData;

            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal = olsEni.ExaminationPaperTemplates.Count();
            dtResponse.recordsTotal = recordsTotal;

            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            modelData = GetModels(dtRequest, uId, type, paperTemplateStatus);

            recordsFiltered = (Int32)modelData[0];
            dtResponse.recordsFiltered = recordsFiltered;

            dtResponse.data = (List<ExaminationPaperTemplate>)modelData[1];

            return dtResponse;
        }
        public Object[] GetModels(DataTablesRequest dtRequest, Int32 uId, Byte type, Byte paperTemplateStatus)
        {
            Int32            count;
            ExaminationTask  et;
            ExaminationPaper ep;

            Int32[]                         userIds;
            List <Int32>                    usableEtIds;
            List <ExaminationTask>          ets;
            List <ExaminationPaperTemplate> ms;

            usableEtIds = new List <Int32>();

            ets = olsEni
                  .ExaminationTasks
                  .Where(m =>
                         m.ET_Status == (Byte)Status.Available)
                  .ToList();
            foreach (var et1 in ets)
            {
                userIds = JsonConvert.DeserializeObject <Int32[]>(et1.ET_Attendee);
                if (userIds.Contains(uId))
                {
                    usableEtIds.Add(et1.ET_Id);
                }
            }

            count =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                       model.EPT_Status == (Byte)Status.Available &&
                       usableEtIds.Contains(model.ET_Id) &&
                       model.ET_Type == type &&
                       model.EPT_PaperTemplateStatus == paperTemplateStatus)
                .Count();

            ms =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                       model.EPT_Status == (Byte)Status.Available &&
                       usableEtIds.Contains(model.ET_Id) &&
                       model.ET_Type == type &&
                       model.EPT_PaperTemplateStatus == paperTemplateStatus)
                .Skip(dtRequest.Start).Take(dtRequest.Length)
                .ToList();

            foreach (var m1 in ms)
            {
                et         = ets.Single(m => m.ET_Id == m1.ET_Id);
                m1.ET_Name = et.ET_Name;
                m1.ET_Type = et.ET_Type;

                // 获取已考试、已评分的试卷成绩
                ep = olsEni.ExaminationPapers.SingleOrDefault(m => m.EPT_Id == m1.EPT_Id && m.EP_UserId == uId);
                if (null == ep)
                {
                    m1.EP_Score = "[未参与]";
                    continue;
                }
                else if (-1 == ep.EP_Score)
                {
                    m1.EP_Score       = "[未评分]";
                    m1.EP_PaperStatus = ep.EP_PaperStatus;
                    continue;
                }

                if ((Byte)StatisticType.Score == et.ET_StatisticType)
                {
                    m1.EP_Score = ep.EP_Score + "分";
                }
                else if ((Byte)StatisticType.Number == et.ET_StatisticType)
                {
                    m1.EP_Score = ep.EP_Score + "%";
                }
            }

            return(new Object[] { count, ms });
        }
        public Object[] GetModels(DataTablesRequest dtRequest, Int32 uId, Byte type, Byte paperTemplateStatus)
        {
            Int32 count;
            ExaminationTask et;
            ExaminationPaper ep;
            Int32[] userIds;
            List<Int32> usableEtIds;
            List<ExaminationTask> ets;
            List<ExaminationPaperTemplate> ms;

            usableEtIds = new List<Int32>();

            ets = olsEni
                .ExaminationTasks
                .Where(m =>
                    m.ET_Status == (Byte)Status.Available)
                .ToList();
            foreach (var et1 in ets)
            {

                userIds = JsonConvert.DeserializeObject<Int32[]>(et1.ET_Attendee);
                if (userIds.Contains(uId))
                {
                    usableEtIds.Add(et1.ET_Id);
                }
            }

            count =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                    model.EPT_Status == (Byte)Status.Available
                    && usableEtIds.Contains(model.ET_Id)
                    && model.ET_Type == type
                    && model.EPT_PaperTemplateStatus == paperTemplateStatus)
                .Count();

            ms =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                    model.EPT_Status == (Byte)Status.Available
                    && usableEtIds.Contains(model.ET_Id)
                    && model.ET_Type == type
                    && model.EPT_PaperTemplateStatus == paperTemplateStatus)
                .Skip(dtRequest.Start).Take(dtRequest.Length)
                .ToList();

            foreach (var m1 in ms)
            {

                et = ets.Single(m => m.ET_Id == m1.ET_Id);
                m1.ET_Name = et.ET_Name;
                m1.ET_Type = et.ET_Type;

                // 获取已考试、已评分的试卷成绩
                ep = olsEni.ExaminationPapers.SingleOrDefault(m => m.EPT_Id == m1.EPT_Id && m.EP_UserId == uId);
                if (null == ep)
                {
                    m1.EP_Score = "[未参与]";
                    continue;
                }
                else if (-1 == ep.EP_Score)
                {
                    m1.EP_Score = "[未评分]";
                    m1.EP_PaperStatus = ep.EP_PaperStatus;
                    continue;
                }

                if ((Byte)StatisticType.Score == et.ET_StatisticType)
                {
                    m1.EP_Score = ep.EP_Score + "分";
                }
                else if ((Byte)StatisticType.Number == et.ET_StatisticType)
                {
                    m1.EP_Score = ep.EP_Score + "%";
                }
            }

            return new Object[] { count, ms };
        }
Exemplo n.º 42
0
 public UModel(DataTablesRequest dtRequest, String tableName, String idFieldName)
 {
     this.dtRequest   = dtRequest;
     this.tableName   = tableName;
     this.idFieldName = idFieldName;
 }
Exemplo n.º 43
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 departmentId)
        {
            String sql;
            DataTablesResponse dtResponse;
            List<SqlParameter> sps;
            UModel<User> umodel;
            List<User> ms;

            umodel = new UModel<User>(dtRequest, "Users", "U_Id");

            sps = new List<SqlParameter>();
            if (0 != departmentId)
            {
                sps.Add(new SqlParameter("@D_Id", departmentId));
            }

            sql =
                "SELECT * FROM " +
                "    (" +
                "        SELECT  u.U_Id U_Id, "+
                "                u.U_Name U_Name, " +
                "                u.U_IdCardNumber U_IdCardNumber, " +
                "                u.U_AddTime U_AddTime, " +
                "                '**********' U_Password, " +
                "                u.U_Status U_Status, " +
                "                u.U_Sort U_Sort, " +
                "                d.D_Id D_Id, " +
                "                d.D_Name D_Name, " +
                "                D_Sort, " +
                "                du.Du_Name " +
                "        FROM    Users u " +
                "                LEFT JOIN User_Department ud ON u.U_Id = ud.U_Id" +
                "                LEFT JOIN Departments d ON d.D_Id = ud.D_Id " +
                "                LEFT JOIN Duties du ON du.Du_Id = u.Du_Id " +
                "    ) TmpTable ";
            umodel = new UModel<User>(dtRequest, "Users", "U_Id");
            dtResponse = umodel.GetList(sql, sps, "U_Status", new String[] { "D_Sort", "U_Sort" }, new String[] { "Du_Name" });

            ms = (List<User>)dtResponse.data;
            dtResponse.data = ms;

            return dtResponse;
        }
Exemplo n.º 44
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<Duty> umodel;

            umodel = new UModel<Duty>(dtRequest, "Duties", "Du_Id");
            dtResponse = umodel.GetList("Du_Status", "Du_Sort");

            return dtResponse;
        }
Exemplo n.º 45
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<ExaminationTask> umodel;

            umodel = new UModel<ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList("ET_Status");

            return dtResponse;
        }
Exemplo n.º 46
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest)
        {
            DataTablesResponse dtResponse;
            UModel<Department> umodel;

            umodel = new UModel<Department>(dtRequest, "Departments", "D_Id");
            dtResponse = umodel.GetList("D_Status", "D_Sort");

            return dtResponse;
        }
Exemplo n.º 47
0
        internal DataTablesResponse ListDetailDataTablesAjax(DataTablesRequest dtRequest, Int32 uId)
        {
            DataTablesResponse dtResponse;
            List<SqlParameter> sps;
            UModel<VMUserScoreDetail> umodel;

            umodel = new UModel<VMUserScoreDetail>(dtRequest, "UserScoreDetails", "USD_UserId");

            sps = new List<SqlParameter>();
            sps.Add(new SqlParameter("@USD_UserId", uId));
            dtResponse = umodel.GetList("SELECT * FROM UserScoreDetails ", sps);

            return dtResponse;
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 etId)
        {
            DataTablesResponse dtResponse;
            Int32  recordsTotal, recordsFiltered;
            String whereSql, orderColumn;
            List <ExaminationPaperTemplate> ms;
            ExaminationTask et;

            // 获取练习模板列表数据
            et = olsEni.ExaminationTasks.Single(m => m.ET_Id == etId);

            if (et.ET_Type == (Byte)ExaminationTaskType.Exercise)
            {
                return(ListDataTablesAjaxStudent(etId, dtRequest, (Byte)ExaminationTaskType.Exercise, 2 /* 2:已考完 */));
            }

            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal            = olsEni.ExaminationPaperTemplates.Count();
            dtResponse.recordsTotal = recordsTotal;


            //TODO:指定筛选条件
            whereSql = "";
            foreach (var col in dtRequest.Columns)
            {
                if ("" != col.Name)
                {
                    whereSql += col.Name + "||";
                }
            }

            //TODO:指定排序列
            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            ms =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                       model.EPT_Status != (Byte)Status.Delete &&
                       model.ET_Id == etId)
                .ToList();

            recordsFiltered            = ms.Count();
            dtResponse.recordsFiltered = recordsFiltered;

            if (-1 != dtRequest.Length)
            {
                ms =
                    ms
                    .Skip(dtRequest.Start).Take(dtRequest.Length)
                    .ToList();
            }

            foreach (var m1 in ms)
            {
                m1.ET_Name = olsEni.ExaminationTasks.Single(m => m.ET_Id == m1.ET_Id).ET_Name;
            }

            dtResponse.data = ms;

            return(dtResponse);
        }
Exemplo n.º 49
0
        internal DataTablesResponse ListDetailDataTablesAjax(DataTablesRequest dtRequest, Int32 uId, String taskName, DateTime beginTime, DateTime endTime)
        {
            String sql;
            DataTablesResponse dtResponse;
            List<SqlParameter> sps;
            UModel<VMUserScoreDetail> umodel;

            umodel = new UModel<VMUserScoreDetail>(dtRequest, "UserScoreDetails", "USD_UserId");

            sql = "SELECT * FROM UserScoreDetails ";

            sps = new List<SqlParameter>();
            sps.Add(new SqlParameter("@EQ_USD_UserId", uId));

            if (taskName != "")
            {
                sps.Add(new SqlParameter("@LIKE_USD_TaskName", "%" + taskName + "%"));
            }

            if (beginTime.Year != 1 && endTime.Year != 1)
            {
                endTime = endTime.AddHours(23).AddMinutes(59).AddSeconds(59);
                beginTime = beginTime.AddSeconds(-1);
                sps.Add(new SqlParameter("@GT_USD_StartTime", beginTime));
                sps.Add(new SqlParameter("@LT_USD_StartTime", endTime));
            }

            dtResponse = umodel.GetList(sql, sps);

            return dtResponse;
        }
Exemplo n.º 50
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Byte type, Byte enabled)
        {
            DataTablesResponse dtResponse;
            List<SqlParameter> sps;
            UModel<ExaminationTask> umodel;

            sps = new List<SqlParameter>();
            sps.Add(new SqlParameter("@ET_Type", type));
            sps.Add(new SqlParameter("@ET_Enabled", enabled));
            umodel = new UModel<ExaminationTask>(dtRequest, "ExaminationTasks", "ET_Id");
            dtResponse = umodel.GetList(sps, "ET_Status");

            return dtResponse;
        }
Exemplo n.º 51
0
        internal DataTablesResponse ListSummaryDataTablesAjax(DataTablesRequest dtRequest, Int32 dId = 0)
        {
            DataTablesResponse dtResponse;
            UModel<VMUserScoreSummary> umodel;
            List<SqlParameter> sps;

            umodel = new UModel<VMUserScoreSummary>(dtRequest, "UserScoreSummaries", "USS_UserId");

            if (dId == 0)
            {
                dtResponse = umodel.GetList();
            }
            else
            {
                sps = new List<SqlParameter>();
                sps.Add(new SqlParameter("@USS_DepartmentId", dId));

                dtResponse = umodel.GetList(sps);
            }

            return dtResponse;
        }
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 etId)
        {
            DataTablesResponse dtResponse;
            Int32 recordsTotal, recordsFiltered;
            String whereSql, orderColumn;
            List<ExaminationPaperTemplate> ms;
            ExaminationTask et;

            // 获取练习模板列表数据
            et = olsEni.ExaminationTasks.Single(m => m.ET_Id == etId);

            if (et.ET_Type == (Byte)ExaminationTaskType.Exercise)
            {
                return ListDataTablesAjaxStudent(etId, dtRequest, (Byte)ExaminationTaskType.Exercise, 2 /* 2:已考完 */);
            }

            dtResponse = new DataTablesResponse();

            dtResponse.draw = dtRequest.Draw;

            recordsTotal = olsEni.ExaminationPaperTemplates.Count();
            dtResponse.recordsTotal = recordsTotal;

            //TODO:指定筛选条件
            whereSql = "";
            foreach (var col in dtRequest.Columns)
            {

                if ("" != col.Name)
                {

                    whereSql += col.Name + "||";
                }
            }

            //TODO:指定排序列
            orderColumn = dtRequest.Columns[dtRequest.OrderColumn].Name;

            ms =
                olsEni
                .ExaminationPaperTemplates
                .OrderBy(model => model.EPT_Id)
                .Where(model =>
                    model.EPT_Status != (Byte)Status.Delete
                    && model.ET_Id == etId)
                .ToList();

            recordsFiltered = ms.Count();
            dtResponse.recordsFiltered = recordsFiltered;

            if (-1 != dtRequest.Length)
            {
                ms =
                    ms
                    .Skip(dtRequest.Start).Take(dtRequest.Length)
                    .ToList();
            }

            foreach (var m1 in ms)
            {
                m1.ET_Name = olsEni.ExaminationTasks.Single(m => m.ET_Id == m1.ET_Id).ET_Name;
            }

            dtResponse.data = ms;

            return dtResponse;
        }
Exemplo n.º 53
0
        public DataTablesResponse ListDataTablesAjax(DataTablesRequest dtRequest, Int32 ldcId)
        {
            DataTablesResponse dtResponse;
            UModel<LearningData> umodel;
            List<SqlParameter> sps;

            sps = new List<SqlParameter>();
            if (0 != ldcId)
            {
                sps.Add(new SqlParameter("@LDC_Id", ldcId));
            }

            umodel = new UModel<LearningData>(dtRequest, "LearningDatas", "LD_Id");
            dtResponse = umodel.GetList(sps, "LD_Status", "LD_Sort");

            return dtResponse;
        }