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";
            }
        }