model.CauHoi getRowCauHoi(DataRow dr, DataTable dtDapAns, out model.DapAn DapAnTemp) { // type=1 random //type=2 khong random model.CauHoi CauHoiTemp = new model.CauHoi(); DapAnTemp = new model.DapAn(); int iCauHoiTemp = int.Parse(dr["Ma"].ToString()); CauHoiTemp.CauHoiID = iCauHoiTemp; CauHoiTemp.Content = dr["Content"].ToString(); CauHoiTemp.DoKhoID = 1; CauHoiTemp.Explain = ""; CauHoiTemp.Image = ""; string strTypeCauHoiTemp = dr["Type"].ToString(); CauHoiTemp.Type = strTypeCauHoiTemp; int iDoKhoIDTemp = int.Parse(dr["DoKhoID"].ToString()); DataRow[] drTemps; drTemps = GetDapAnFromCauHoiNotRandom(Guid.Parse(dr["ID"].ToString()), dtDapAns); int iLengthDrTemp = drTemps.Length; CauHoiTemp.SoCauTraLoi = iLengthDrTemp; string strMatchTemp = ""; if (iLengthDrTemp > 0) { switch (strTypeCauHoiTemp) { case "SC": case "MC": case "TQ": case "FQ": int l = 1; foreach (DataRow drTemp in drTemps) { bool blIsCheck1 = false; int iDapAnID1 = int.Parse(drTemp["DapAnID"].ToString()); if (blIsCheck1) { strMatchTemp = strMatchTemp + ";" + iDapAnID1.ToString(); } switch (l) { #region case 1: CauHoiTemp.A1 = drTemp["Content"].ToString(); CauHoiTemp.M1 = iDapAnID1.ToString(); break; case 2: CauHoiTemp.A2 = drTemp["Content"].ToString(); CauHoiTemp.M2 = iDapAnID1.ToString(); break; case 3: CauHoiTemp.A3 = drTemp["Content"].ToString(); CauHoiTemp.M3 = iDapAnID1.ToString(); break; case 4: CauHoiTemp.A4 = drTemp["Content"].ToString(); CauHoiTemp.M4 = iDapAnID1.ToString(); break; case 5: CauHoiTemp.A5 = drTemp["Content"].ToString(); CauHoiTemp.M5 = iDapAnID1.ToString(); break; case 6: CauHoiTemp.A6 = drTemp["Content"].ToString(); CauHoiTemp.M6 = iDapAnID1.ToString(); break; case 7: CauHoiTemp.A7 = drTemp["Content"].ToString(); CauHoiTemp.M7 = iDapAnID1.ToString(); break; case 8: CauHoiTemp.A8 = drTemp["Content"].ToString(); CauHoiTemp.M8 = iDapAnID1.ToString(); break; case 9: CauHoiTemp.A9 = drTemp["Content"].ToString(); CauHoiTemp.M9 = iDapAnID1.ToString(); break; case 10: CauHoiTemp.A10 = drTemp["Content"].ToString(); CauHoiTemp.M10 = iDapAnID1.ToString(); break; case 11: CauHoiTemp.A11 = drTemp["Content"].ToString(); CauHoiTemp.M11 = iDapAnID1.ToString(); break; case 12: CauHoiTemp.A12 = drTemp["Content"].ToString(); CauHoiTemp.M12 = iDapAnID1.ToString(); break; case 13: CauHoiTemp.A13 = drTemp["Content"].ToString(); CauHoiTemp.M13 = iDapAnID1.ToString(); break; case 14: CauHoiTemp.A14 = drTemp["Content"].ToString(); CauHoiTemp.M14 = iDapAnID1.ToString(); break; case 15: CauHoiTemp.A15 = drTemp["Content"].ToString(); CauHoiTemp.M15 = iDapAnID1.ToString(); break; default: break; #endregion } l++; } break; default: break; } } DapAnTemp.CauHoiID = iCauHoiTemp; DapAnTemp.Type = strTypeCauHoiTemp; float fDiemTemp = -1; CauHoiTemp.Mark = fDiemTemp; DapAnTemp.Mark = fDiemTemp; DapAnTemp.Match = strMatchTemp; return(CauHoiTemp); }
string getDivRowHtmlNormal(model.CauHoi cauhoi, List <model.DapAn> dapAn, model.DapAn answare, int l, int l1, string index, string color, out string strScript) { #region loai binh thuong string strHtml = ""; strScript = ""; string strMatch = ""; if (dapAn != null) { //string strMatch = dapAn != null ? dapAn.Match : ""; foreach (model.DapAn dapAnTemp in dapAn) { strMatch += ";" + dapAnTemp.Match + ";"; } } string strMatchDapAn = answare != null ? answare.Match : ""; strMatchDapAn = ";" + strMatchDapAn + ";"; string strType = cauhoi.Type; strHtml += string.Format("<div id='divCauHoi_{0}' style='width: 100%;color:{3}; text-align:left; padding-bottom: 2px; padding-top: 2px;'><span style='font-weight: bold;'>Câu {0} (<span style='color:red;'>{1} điểm</span>): </span><span>{2}</span></div>", index, cauhoi.Mark, HttpUtility.HtmlDecode(cauhoi.Content), color); if (!(cauhoi.Image.ToUpper().Equals("") || cauhoi.Image.ToUpper().Equals("NULL"))) { strHtml += string.Format("<div style='width: 100%;text-align:center; padding-bottom: 2px; padding-top: 2px;'><image src='/Portals/{0}/{1}' hight='100px;'></image></div>", this.PortalId, cauhoi.Image); } int iCount = cauhoi.SoCauTraLoi; int i = 1; while (i < (iCount + 1)) { switch (i) { case 1: if (strMatch.Contains(string.Format(";{0};", cauhoi.M1))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M1 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M1))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M1), HttpUtility.HtmlDecode(cauhoi.A1), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M1), HttpUtility.HtmlDecode(cauhoi.A1), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 2: if (strMatch.Contains(string.Format(";{0};", cauhoi.M2))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M2 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M2))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M2), HttpUtility.HtmlDecode(cauhoi.A2), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M2), HttpUtility.HtmlDecode(cauhoi.A2), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 3: if (strMatch.Contains(string.Format(";{0};", cauhoi.M3))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M3 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M3))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M3), HttpUtility.HtmlDecode(cauhoi.A3), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M3), HttpUtility.HtmlDecode(cauhoi.A3), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 4: if (strMatch.Contains(string.Format(";{0};", cauhoi.M4))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M4 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M4))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M4), HttpUtility.HtmlDecode(cauhoi.A4), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M4), HttpUtility.HtmlDecode(cauhoi.A4), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 5: if (strMatch.Contains(string.Format(";{0};", cauhoi.M5))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M5 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M5))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M5), HttpUtility.HtmlDecode(cauhoi.A5), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, HttpUtility.HtmlDecode(cauhoi.M5), HttpUtility.HtmlDecode(cauhoi.A5), cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 6: if (strMatch.Contains(string.Format(";{0};", cauhoi.M6))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M6 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M6))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, cauhoi.M6, cauhoi.A6, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, cauhoi.M6, cauhoi.A6, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 7: if (strMatch.Contains(string.Format(";{0};", cauhoi.M7))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M7 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M7))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, cauhoi.M7, cauhoi.A7, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, cauhoi.M7, cauhoi.A7, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 8: if (strMatch.Contains(string.Format(";{0};", cauhoi.M8))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M8 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M8))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, cauhoi.M8, cauhoi.A8, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, cauhoi.M8, cauhoi.A8, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 9: if (strMatch.Contains(string.Format(";{0};", cauhoi.M9))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M9 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M9))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, cauhoi.M9, cauhoi.A9, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, cauhoi.M9, cauhoi.A9, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; case 10: if (strMatch.Contains(string.Format(";{0};", cauhoi.M10))) { strScript += "$('#tdMenuCauHoi_" + l + "').css({ \"color\": \"blue\" });$('#id_" + cauhoi.CauHoiID + "_" + cauhoi.M10 + "').prop(\"checked\", true);"; } if (strMatchDapAn.Contains(string.Format(";{0};", cauhoi.M10))) { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;color:red;'>{2} (Là đáp án)</span></div>", l, cauhoi.M10, cauhoi.A10, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } else { strHtml += string.Format("<div style='width: 100%; text-align:left; padding-top: 1px;'><span><input type='checkbox' name='nCauHoi_{4}' value='vcauhoi_{0}' id='id_{3}_{1}'></span><span style='padding-left: 5px;padding-right: 5px;'>{2}</span></div>", l, cauhoi.M10, cauhoi.A10, cauhoi.CauHoiID, strType.Equals("MC") ? l * 20 + i : l * 20); } break; } i++; } #endregion return(strHtml); }
protected void btnTaoDe_Click(object sender, EventArgs e) { List <model.CauHoi> lCauHoiTemp = new List <model.CauHoi>(); List <model.DapAn> lDapAnTemp = new List <model.DapAn>(); string strSQL = string.Format(@"SELECT b.* FROM [dbo].[AS_Edu_Survey_CauTrucDe] a inner join [dbo].[AS_Edu_Survey_CauHoi] b on a.CauHoiID=b.ID where DeThi=@Param0 order by a.Count; select * from AS_Edu_Survey_DapAn where CauHoiGID in (SELECT b.ID FROM [dbo].[AS_Edu_Survey_CauTrucDe] a inner join [dbo].[AS_Edu_Survey_CauHoi] b on a.CauHoiID=b.ID where DeThi=@Param0 );"); SqlParameter[] sqlParams; sqlParams = new SqlParameter[1]; sqlParams[0] = new SqlParameter("@Param0", txtID.Text); DataSet ds = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(data.Nuce_Survey.ConnectionString, CommandType.Text, strSQL, sqlParams); DataTable tblCauHoi = ds.Tables[0]; DataTable tblDapAn = ds.Tables[1]; for (int i = 0; i < tblCauHoi.Rows.Count; i++) { model.CauHoi CauHoiTemp = new model.CauHoi(); model.DapAn DapAnTemp = new model.DapAn(); DataRow[] drTemps; List <model.CauHoi> ChildCauHois = new List <model.CauHoi>(); model.CauHoi CauHoiTemp1 = new model.CauHoi(); model.DapAn DapAnTemp1 = new model.DapAn(); CauHoiTemp = getRowCauHoi(tblCauHoi.Rows[i], tblDapAn, out DapAnTemp); if (!DapAnTemp.Equals("")) { lDapAnTemp.Add(DapAnTemp); } // Them moi vao list lCauHoiTemp.Add(CauHoiTemp); } string strNoiDung = JsonConvert.SerializeObject(lCauHoiTemp); string strDapAn = JsonConvert.SerializeObject(lDapAnTemp); // Cap nhat vao co so du lieu strSQL = string.Format(@"UPDATE [dbo].[AS_Edu_Survey_DeThi] SET [NoiDungDeThi] = @Param1 ,[DapAn] = @Param2 WHERE ID=@Param3;"); sqlParams = new SqlParameter[3]; sqlParams[0] = new SqlParameter("@Param1", strNoiDung); sqlParams[1] = new SqlParameter("@Param2", strDapAn); sqlParams[2] = new SqlParameter("@Param3", txtID.Text); if (Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(data.Nuce_Survey.ConnectionString, CommandType.Text, strSQL, sqlParams) > 0) { divThongBao.InnerHtml = "Cập nhật nội dung đề thi thành công"; } else { divThongBao.InnerHtml = "Cập nhật nội dung đề thi thất bại"; } }