/// <summary> /// /// </summary> /// <returns></returns> public List <int> Get题目编号(int FK_月度考核内容) { DataSet ds = new Eastcom.DAL.考试题库().GetList(""); List <int> intList = new List <int>(); List <int> ReturnList = new List <int>(); if (ds.Tables[0] != null) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { intList.Add(int.Parse(ds.Tables[0].Rows[i]["id"].ToString())); } } int j = 0; while (j < 20) { Random rd = new Random(); int rd_int = rd.Next(0, intList.Count); int a = intList[rd_int]; if (ReturnList.Contains(a)) { continue; } else { ReturnList.Add(a); j++; } } return(ReturnList); }
/// <summary> /// 增加一条数据,及其子表数据 /// </summary> public int Add_Tran(Eastcom.Model.日度练习考核内容 model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into 日度练习考核内容("); strSql.Append("FK_UserID,日期,考务生成时间,提交情况,生成的题目数)"); strSql.Append(" values ("); strSql.Append("@FK_UserID,@日期,@考务生成时间,@提交情况,@生成的题目数)"); strSql.Append(";set @ReturnValue= @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@FK_UserID", SqlDbType.Int, 4), new SqlParameter("@日期", SqlDbType.DateTime), new SqlParameter("@考务生成时间", SqlDbType.DateTime), new SqlParameter("@提交情况", SqlDbType.VarChar, 50), new SqlParameter("@生成的题目数", SqlDbType.Int, 4), new SqlParameter("@ReturnValue", SqlDbType.Int) }; parameters[0].Value = model.FK_UserID; parameters[1].Value = model.日期; if (model.考务生成时间 != DateTime.MinValue) { parameters[2].Value = model.考务生成时间; } else { parameters[2].Value = DBNull.Value; } parameters[3].Value = model.提交情况; parameters[4].Value = 100; parameters[5].Direction = ParameterDirection.Output; List <CommandInfo> sqllist = new List <CommandInfo>(); CommandInfo cmd = new CommandInfo(strSql.ToString(), parameters); sqllist.Add(cmd); DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist); StringBuilder strSql2; sqllist = new List <CommandInfo>(); List <Eastcom.Model.日度练习考核内容_详细> 日度练习考核内容_详细s = new List <Model.日度练习考核内容_详细>(); List <int> 考试题目 = Get题目编号((int)parameters[5].Value); for (int i = 0; i < 100; i++) { Eastcom.Model.考试题库 考题model = new Eastcom.DAL.考试题库().GetModel(考试题目[i]); 日度练习考核内容_详细s.Add(new Eastcom.Model.日度练习考核内容_详细() { FK_日度联系考核内容 = (int)parameters[5].Value, 考核题目编号 = i + 1, 题目编号 = 考试题目[i], //随机获取, 得分 = 0, 题目内容_原 = 考题model.题目内容, A选项_原 = 考题model.A选项, B选项_原 = 考题model.B选项, C选项_原 = 考题model.C选项, D选项_原 = 考题model.D选项, 其他选项_原 = 考题model.其他选项, 标准答案_原 = 考题model.标准答案 }); } foreach (Eastcom.Model.日度练习考核内容_详细 models in 日度练习考核内容_详细s) { strSql2 = new StringBuilder(); strSql2.Append("insert into 日度练习考核内容_详细("); strSql2.Append("FK_日度联系考核内容,考核题目编号,题目编号,用户答案,回答情况,得分,提交时间,题目内容_原,A选项_原,B选项_原,C选项_原,D选项_原,其他选项_原,标准答案_原)"); strSql2.Append(" values ("); strSql2.Append("@FK_日度联系考核内容,@考核题目编号,@题目编号,@用户答案,@回答情况,@得分,@提交时间,@题目内容_原,@A选项_原,@B选项_原,@C选项_原,@D选项_原,@其他选项_原,@标准答案_原)"); SqlParameter[] parameters2 = { new SqlParameter("@FK_日度联系考核内容", SqlDbType.Int, 4), new SqlParameter("@考核题目编号", SqlDbType.Int, 4), new SqlParameter("@题目编号", SqlDbType.Int, 4), new SqlParameter("@用户答案", SqlDbType.VarChar, 50), new SqlParameter("@回答情况", SqlDbType.VarChar, 50), new SqlParameter("@得分", SqlDbType.Decimal, 9), new SqlParameter("@提交时间", SqlDbType.DateTime), new SqlParameter("@题目内容_原", SqlDbType.NText), new SqlParameter("@A选项_原", SqlDbType.VarChar, 5000), new SqlParameter("@B选项_原", SqlDbType.VarChar, 5000), new SqlParameter("@C选项_原", SqlDbType.VarChar, 5000), new SqlParameter("@D选项_原", SqlDbType.VarChar, 5000), new SqlParameter("@其他选项_原", SqlDbType.NText), new SqlParameter("@标准答案_原", SqlDbType.VarChar, 50) }; parameters2[0].Value = models.FK_日度联系考核内容; parameters2[1].Value = models.考核题目编号; parameters2[2].Value = models.题目编号; parameters2[3].Value = models.用户答案; parameters2[4].Value = models.回答情况; parameters2[5].Value = models.得分; parameters2[6].Value = models.提交时间; parameters2[7].Value = models.题目内容_原; parameters2[8].Value = models.A选项_原; parameters2[9].Value = models.B选项_原; parameters2[10].Value = models.C选项_原; parameters2[11].Value = models.D选项_原; parameters2[12].Value = models.其他选项_原; parameters2[13].Value = models.标准答案_原; cmd = new CommandInfo(strSql2.ToString(), parameters2); sqllist.Add(cmd); } DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist); return((int)parameters[5].Value); }