public static Quiz_FillInTheBlanks GetQuiz_CourseByCourseID(int CourseID)
 {
     Quiz_FillInTheBlanks quiz_FillInTheBlanks = new Quiz_FillInTheBlanks();
     SqlQuiz_FillInTheBlanksProvider sqlQuiz_FillInTheBlanksProvider = new SqlQuiz_FillInTheBlanksProvider();
     quiz_FillInTheBlanks = sqlQuiz_FillInTheBlanksProvider.GetQuiz_FillInTheBlanksByCourseID(CourseID);
     return quiz_FillInTheBlanks;
 }
    public bool UpdateQuiz_FillInTheBlanks(Quiz_FillInTheBlanks quiz_FillInTheBlanks)
    {
        using (SqlConnection connection = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("UpdateQuiz_FillInTheBlanks", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@FillInTheBlanksID", SqlDbType.Int).Value = quiz_FillInTheBlanks.FillInTheBlanksID;
            cmd.Parameters.Add("@ComprehensionID", SqlDbType.Int).Value = quiz_FillInTheBlanks.ComprehensionID;
            cmd.Parameters.Add("@Question", SqlDbType.NText).Value = quiz_FillInTheBlanks.Question;
            cmd.Parameters.Add("@CourseID", SqlDbType.Int).Value = quiz_FillInTheBlanks.CourseID;
            cmd.Parameters.Add("@SubjectID", SqlDbType.Int).Value = quiz_FillInTheBlanks.SubjectID;
            cmd.Parameters.Add("@ChapterID", SqlDbType.Int).Value = quiz_FillInTheBlanks.ChapterID;
            cmd.Parameters.Add("@ModifiedBy", SqlDbType.NVarChar).Value = quiz_FillInTheBlanks.ModifiedBy;
            cmd.Parameters.Add("@ModifiedDate", SqlDbType.DateTime).Value = quiz_FillInTheBlanks.ModifiedDate;
            connection.Open();

            int result = cmd.ExecuteNonQuery();
            return result == 1;
        }
    }
    public Quiz_FillInTheBlanks GetQuiz_FillInTheBlanksFromReaderTable(DataRow reader)
    {
        try
        {
            Quiz_FillInTheBlanks quiz_FillInTheBlanks = new Quiz_FillInTheBlanks
                (

                     DataAccessObject.IsNULL<int>(reader["FillInTheBlanksID"]),
                     DataAccessObject.IsNULL<int>(reader["ComprehensionID"]),
                     DataAccessObject.IsNULL<string>(reader["Question"]),
                     DataAccessObject.IsNULL<int>(reader["CourseID"]),
                     DataAccessObject.IsNULL<int>(reader["SubjectID"]),
                     DataAccessObject.IsNULL<int>(reader["ChapterID"]),
                     DataAccessObject.IsNULL<string>(reader["AddedBy"].ToString()),
                     DataAccessObject.IsNULL<DateTime>(reader["AddedDate"]),
                     DataAccessObject.IsNULL<string>(reader["ModifiedBy"].ToString()),
                     DataAccessObject.IsNULL<DateTime>(reader["ModifiedDate"])
                );
            return quiz_FillInTheBlanks;
        }
        catch (Exception ex)
        {
            return null;
        }
    }
 public static bool UpdateQuiz_FillInTheBlanks(Quiz_FillInTheBlanks quiz_FillInTheBlanks)
 {
     SqlQuiz_FillInTheBlanksProvider sqlQuiz_FillInTheBlanksProvider = new SqlQuiz_FillInTheBlanksProvider();
     return sqlQuiz_FillInTheBlanksProvider.UpdateQuiz_FillInTheBlanks(quiz_FillInTheBlanks);
 }
 public static Quiz_FillInTheBlanks GetQuiz_SubjectBySubjectID(int SubjectID)
 {
     Quiz_FillInTheBlanks quiz_FillInTheBlanks = new Quiz_FillInTheBlanks();
     SqlQuiz_FillInTheBlanksProvider sqlQuiz_FillInTheBlanksProvider = new SqlQuiz_FillInTheBlanksProvider();
     quiz_FillInTheBlanks = sqlQuiz_FillInTheBlanksProvider.GetQuiz_FillInTheBlanksBySubjectID(SubjectID);
     return quiz_FillInTheBlanks;
 }
 public static int InsertQuiz_FillInTheBlanks(Quiz_FillInTheBlanks quiz_FillInTheBlanks)
 {
     SqlQuiz_FillInTheBlanksProvider sqlQuiz_FillInTheBlanksProvider = new SqlQuiz_FillInTheBlanksProvider();
     return sqlQuiz_FillInTheBlanksProvider.InsertQuiz_FillInTheBlanks(quiz_FillInTheBlanks);
 }
    protected void btnSaveComprehention_Click(object sender, EventArgs e)
    {
        try
        {
            string userID = Profile.card_id ;

            int comprehensionID = 0;
            Quiz_Comprehension quiz_Comprehension = new Quiz_Comprehension();
            #region "Save Comprehention Basic Data"
            if (Request.QueryString["ID"] != null)
            {
                comprehensionID = Convert.ToInt32(Request.QueryString["ID"].ToString());
                quiz_Comprehension = Quiz_ComprehensionManager.GetQuiz_ComprehensionByComprehensionID(comprehensionID);
                quiz_Comprehension.CourseID = int.Parse(ddlCourseID.SelectedValue);
                quiz_Comprehension.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                quiz_Comprehension.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                quiz_Comprehension.Comprehension = fckDesc.Value;
                quiz_Comprehension.ModifiedBy = userID;
                quiz_Comprehension.ModifiedDate = DateTime.Now;

                Quiz_ComprehensionManager.UpdateQuiz_Comprehension(quiz_Comprehension);
            }
            else
            {
                quiz_Comprehension.ComprehensionID = 0;
                quiz_Comprehension.CourseID = int.Parse(ddlCourseID.SelectedValue);
                quiz_Comprehension.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                quiz_Comprehension.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                quiz_Comprehension.Comprehension = fckDesc.Value;
                quiz_Comprehension.AddedBy = userID;
                quiz_Comprehension.AddedDate = DateTime.Now;
                quiz_Comprehension.ModifiedBy = userID;
                quiz_Comprehension.ModifiedDate = DateTime.Now;

                comprehensionID = Quiz_ComprehensionManager.InsertQuiz_Comprehension(quiz_Comprehension);
            }
            #endregion

            #region "Save true and falsess"

            for (int tI = 0; tI < gvQuiz_TrueFalse.Rows.Count; tI++)
            {
                Quiz_TrueFalse quiz_TrueFalse = new Quiz_TrueFalse();
                HiddenField hfTureFalseID = (HiddenField)gvQuiz_TrueFalse.Rows[tI].FindControl("hfTureFalseID");
                int trueFalseID = Convert.ToInt32(hfTureFalseID.Value);
                TextBox txtQuestionTitle = (TextBox)gvQuiz_TrueFalse.Rows[tI].FindControl("txtQuestionTitle");
                RadioButtonList radIsAnswer = (RadioButtonList)gvQuiz_TrueFalse.Rows[tI].FindControl("radIsAnswer");

                if (txtQuestionTitle.Text != "")
                {
                    quiz_TrueFalse.TrueFalseID = trueFalseID;
                    quiz_TrueFalse.ComprehensionID = comprehensionID;
                    quiz_TrueFalse.CourseID = int.Parse(ddlCourseID.SelectedValue);
                    quiz_TrueFalse.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                    quiz_TrueFalse.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                    quiz_TrueFalse.QuestionTitle = txtQuestionTitle.Text;
                    quiz_TrueFalse.IsDrCr = false;
                    quiz_TrueFalse.IsTrue = radIsAnswer.SelectedValue == "True" ? true : false;
                    quiz_TrueFalse.AddedBy = userID;
                    quiz_TrueFalse.AddedDate = DateTime.Now;
                    quiz_TrueFalse.ModifiedBy = userID;
                    quiz_TrueFalse.ModifiedDate = DateTime.Now;

                    if (trueFalseID > 0)
                        Quiz_TrueFalseManager.UpdateQuiz_TrueFalse(quiz_TrueFalse);
                    else
                        trueFalseID = Quiz_TrueFalseManager.InsertQuiz_TrueFalse(quiz_TrueFalse);
                }
            }

            gvQuiz_TrueFalse.DataSource = string.Empty.ToList();
            gvQuiz_TrueFalse.DataBind();

            #endregion

            #region "Save dr cr "
            for (int dI = 0; dI < gvQuiz_gvDrCr.Rows.Count; dI++)
            {
                Quiz_TrueFalse quiz_TrueFalse = new Quiz_TrueFalse();
                HiddenField hfDrCrID = (HiddenField)gvQuiz_gvDrCr.Rows[dI].FindControl("hfDrCrID");
                int trueFalseID = Convert.ToInt32(hfDrCrID.Value);
                TextBox txtQuestionTitle = (TextBox)gvQuiz_gvDrCr.Rows[dI].FindControl("txtQuestionTitle");
                RadioButtonList radIsAnswer = (RadioButtonList)gvQuiz_gvDrCr.Rows[dI].FindControl("radIsAnswer");

                if (txtQuestionTitle.Text != "")
                {
                    quiz_TrueFalse.TrueFalseID = trueFalseID;
                    quiz_TrueFalse.ComprehensionID = comprehensionID;
                    quiz_TrueFalse.CourseID = int.Parse(ddlCourseID.SelectedValue);
                    quiz_TrueFalse.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                    quiz_TrueFalse.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                    quiz_TrueFalse.QuestionTitle = txtQuestionTitle.Text;
                    quiz_TrueFalse.IsDrCr = true;
                    quiz_TrueFalse.IsTrue = radIsAnswer.SelectedValue == "True" ? true : false;
                    quiz_TrueFalse.AddedBy = userID;
                    quiz_TrueFalse.AddedDate = DateTime.Now;
                    quiz_TrueFalse.ModifiedBy = userID;
                    quiz_TrueFalse.ModifiedDate = DateTime.Now;

                    if (trueFalseID > 0)
                        Quiz_TrueFalseManager.UpdateQuiz_TrueFalse(quiz_TrueFalse);
                    else
                        trueFalseID = Quiz_TrueFalseManager.InsertQuiz_TrueFalse(quiz_TrueFalse);
                }

            }

            gvQuiz_gvDrCr.DataSource = string.Empty.ToList();
            gvQuiz_gvDrCr.DataBind();

            #endregion

            #region Delete True/False and Dr/Cr Questions

            List<int> delTrueFalseIDs = new List<int>();
            if (Session["delTrueFalseIDs"] != null)
            {
                delTrueFalseIDs = (List<int>)Session["delTrueFalseIDs"];

                foreach (int id in delTrueFalseIDs)
                {
                    Quiz_TrueFalseManager.DeleteQuiz_TrueFalse(id);
                }

            }

            #endregion

            #region "Save fill in the blanks"
            for (int i = 0; i < gvQuiz_FillInTheBlanks.Rows.Count; i++)
            {
                Quiz_FillInTheBlanks fillInTheBlanks = new Quiz_FillInTheBlanks();
                HiddenField hfFillInTheBlankID = (HiddenField)gvQuiz_FillInTheBlanks.Rows[i].FindControl("hfFillInTheBlankID");
                int fillInTheBlankID = Convert.ToInt32(hfFillInTheBlankID.Value);
                TextBox txtFilInTheBlanksQuestion = (TextBox)gvQuiz_FillInTheBlanks.Rows[i].FindControl("txtFilInTheBlanksQuestion");

                if (txtFilInTheBlanksQuestion.Text != "")
                {
                    fillInTheBlanks.FillInTheBlanksID = fillInTheBlankID;
                    fillInTheBlanks.Question = txtFilInTheBlanksQuestion.Text;
                    fillInTheBlanks.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                    fillInTheBlanks.CourseID = int.Parse(ddlCourseID.SelectedValue);
                    fillInTheBlanks.ComprehensionID = comprehensionID;
                    fillInTheBlanks.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                    fillInTheBlanks.AddedBy = userID;
                    fillInTheBlanks.AddedDate = DateTime.Now;
                    fillInTheBlanks.ModifiedBy = userID;
                    fillInTheBlanks.ModifiedDate = DateTime.Now;

                    if (fillInTheBlankID > 0)
                        Quiz_FillInTheBlanksManager.UpdateQuiz_FillInTheBlanks(fillInTheBlanks);
                    else
                        fillInTheBlankID = Quiz_FillInTheBlanksManager.InsertQuiz_FillInTheBlanks(fillInTheBlanks);
                    #region Fill In The Blanks Details
                    if (fillInTheBlankID > 0)
                    {
                        GridView gvQuiz_FillInTheBlanksDetails = (GridView)gvQuiz_FillInTheBlanks.Rows[i].FindControl("gvQuiz_FillInTheBlanksDetails");

                        for (int j = 0; j < gvQuiz_FillInTheBlanksDetails.Rows.Count; j++)
                        {
                            HiddenField hfFillInTheBlankDtlID = (HiddenField)gvQuiz_FillInTheBlanksDetails.Rows[j].FindControl("hfFillInTheBlankDtlID");
                            int fillInTheBlanksDetailsID = Convert.ToInt32(hfFillInTheBlankDtlID.Value);
                            Label lblSerial = (Label)gvQuiz_FillInTheBlanksDetails.Rows[j].FindControl("lblSerial");
                            TextBox txtAnswer = ((TextBox)gvQuiz_FillInTheBlanksDetails.Rows[j].FindControl("txtAnswer"));

                            if (txtAnswer.Text != "")
                            {
                                Quiz_FillInTheBlanksDetails fillInTheBlanksDtl = new Quiz_FillInTheBlanksDetails();

                                fillInTheBlanksDtl.FillInTheBlanksDetailsID = fillInTheBlanksDetailsID;
                                fillInTheBlanksDtl.FillInTheBlanksID = fillInTheBlankID;
                                fillInTheBlanksDtl.QuestionSl = int.Parse(lblSerial.Text);
                                fillInTheBlanksDtl.Answer = txtAnswer.Text;
                                fillInTheBlanksDtl.AddedBy = userID;
                                fillInTheBlanksDtl.AddedDate = DateTime.Now;
                                fillInTheBlanksDtl.ModifiedBy = userID;
                                fillInTheBlanksDtl.ModifiedDate = DateTime.Now;

                                if (fillInTheBlanksDetailsID > 0)
                                    Quiz_FillInTheBlanksDetailsManager.UpdateQuiz_FillInTheBlanksDetails(fillInTheBlanksDtl);
                                else
                                    fillInTheBlanksDetailsID = Quiz_FillInTheBlanksDetailsManager.InsertQuiz_FillInTheBlanksDetails(fillInTheBlanksDtl);
                            }
                        }

                        gvQuiz_FillInTheBlanksDetails.DataSource = string.Empty.ToList();
                        gvQuiz_FillInTheBlanksDetails.DataBind();
                    }
                }

            }

            gvQuiz_FillInTheBlanks.DataSource = string.Empty.ToList();
            gvQuiz_FillInTheBlanks.DataBind();
                    #endregion
            List<int> delFillInTheBlankIDs = new List<int>();
            if (Session["delFillInTheBlankIDs"] != null)
            {
                delFillInTheBlankIDs = (List<int>)Session["delFillInTheBlankIDs"];

                foreach (int id in delFillInTheBlankIDs)
                {
                    Quiz_FillInTheBlanksManager.DeleteQuiz_FillInTheBlanks(id);
                }

            }

            List<int> delFillInTheBlankDetailsIDs = new List<int>();
            if (Session["delFillInTheBlankDetailsIDs"] != null)
            {
                delFillInTheBlankDetailsIDs = (List<int>)Session["delFillInTheBlankDetailsIDs"];

                foreach (int id in delFillInTheBlankDetailsIDs)
                {
                    Quiz_FillInTheBlanksDetailsManager.DeleteQuiz_FillInTheBlanksDetails(id);
                }

            }

            #endregion

            #region "Save multiple questions"
            for (int mI = 0; mI < gvQuiz_MultipleQuestion.Rows.Count; mI++)
            {

                TextBox txtMultipleQuestionName = (TextBox)gvQuiz_MultipleQuestion.Rows[mI].FindControl("txtMultipleQuestionName");
                HiddenField hfMultipleQuestionID = (HiddenField)gvQuiz_MultipleQuestion.Rows[mI].FindControl("hfMultipleQuestionID");
                int multipleQuestionID = Convert.ToInt32(hfMultipleQuestionID.Value);

                if (txtMultipleQuestionName.Text != "")
                {
                    Quiz_MultipleQuestion quiz_MultipleQuestion = new Quiz_MultipleQuestion();
                    quiz_MultipleQuestion.MultipleQustionID = multipleQuestionID;
                    quiz_MultipleQuestion.ComprehensionID = comprehensionID;
                    quiz_MultipleQuestion.CourseID = int.Parse(ddlCourseID.SelectedValue);
                    quiz_MultipleQuestion.SubjectID = int.Parse(ddlSubjectID.SelectedValue);
                    quiz_MultipleQuestion.ChapterID = int.Parse(ddlChapterID.SelectedValue);
                    quiz_MultipleQuestion.MultipleQuestionName = txtMultipleQuestionName.Text;
                    quiz_MultipleQuestion.AddedBy = userID;
                    quiz_MultipleQuestion.AddedDate = DateTime.Now;
                    quiz_MultipleQuestion.ModifiedBy = userID;
                    quiz_MultipleQuestion.ModifiedDate = DateTime.Now;

                    if (multipleQuestionID > 0)
                        Quiz_MultipleQuestionManager.UpdateQuiz_MultipleQuestion(quiz_MultipleQuestion);
                    else
                        multipleQuestionID = Quiz_MultipleQuestionManager.InsertQuiz_MultipleQuestion(quiz_MultipleQuestion);

                    GridView gvQuiz_MultipleQuestionDetails = (GridView)gvQuiz_MultipleQuestion.Rows[mI].FindControl("gvQuiz_MultipleQuestionDetails");

                    for (int mDi = 0; mDi < gvQuiz_MultipleQuestionDetails.Rows.Count; mDi++)
                    {
                        Label lblSerial = ((Label)gvQuiz_MultipleQuestionDetails.Rows[mDi].FindControl("lblSerial"));
                        HiddenField hfMultipleQuestionDetailsID = (HiddenField)gvQuiz_MultipleQuestionDetails.Rows[mDi].FindControl("hfMultipleQuestionDetailsID");
                        int multipleQuestionDetailsID = Convert.ToInt32(hfMultipleQuestionDetailsID.Value);
                        TextBox txtQuestionTitle = (TextBox)gvQuiz_MultipleQuestionDetails.Rows[mDi].FindControl("txtQuestionTitle");
                        Label lblAnswer = (Label)gvQuiz_MultipleQuestionDetails.Rows[mDi].FindControl("lblAnswer");
                        RadioButtonList chkAnswer = (RadioButtonList)gvQuiz_MultipleQuestionDetails.Rows[mDi].FindControl("radIsAnswer");

                        if (txtQuestionTitle.Text != "")
                        {
                            Quiz_MultipleQuestionDetails quiz_MultipleQuestionDetails = new Quiz_MultipleQuestionDetails();
                            quiz_MultipleQuestionDetails.MultipleQuestionDetailsID = multipleQuestionDetailsID;
                            quiz_MultipleQuestionDetails.MultipleQustionID = multipleQuestionID;
                            quiz_MultipleQuestionDetails.QuestionTitle = txtQuestionTitle.Text;
                            quiz_MultipleQuestionDetails.IsAnswer = chkAnswer.SelectedValue == "True" ? true : false;
                            quiz_MultipleQuestionDetails.AddedBy = userID;
                            quiz_MultipleQuestionDetails.AddedDate = DateTime.Now;
                            quiz_MultipleQuestionDetails.ModifiedBy = userID;
                            quiz_MultipleQuestionDetails.ModifiedDate = DateTime.Now;

                            if (multipleQuestionDetailsID > 0)
                                Quiz_MultipleQuestionDetailsManager.UpdateQuiz_MultipleQuestionDetails(quiz_MultipleQuestionDetails);
                            else
                                multipleQuestionDetailsID = Quiz_MultipleQuestionDetailsManager.InsertQuiz_MultipleQuestionDetails(quiz_MultipleQuestionDetails);
                        }
                    }

                    gvQuiz_MultipleQuestionDetails.DataSource = string.Empty.ToList();
                    gvQuiz_MultipleQuestionDetails.DataBind();
                }
            }

            gvQuiz_MultipleQuestion.DataSource = string.Empty.ToList();
            gvQuiz_MultipleQuestion.DataBind();

            List<int> delMultipleQuestionIDs = new List<int>();
            if (Session["delMultipleQuestionIDs"] != null)
            {
                delMultipleQuestionIDs = (List<int>)Session["delMultipleQuestionIDs"];

                foreach (int id in delMultipleQuestionIDs)
                {
                    Quiz_MultipleQuestionManager.DeleteQuiz_MultipleQuestion(id);
                }

            }

            List<int> delMultipleQuestionDetailsIDs = new List<int>();
            if (Session["delMultipleQuestionDetailsIDs"] != null)
            {
                delMultipleQuestionDetailsIDs = (List<int>)Session["delMultipleQuestionDetailsIDs"];

                foreach (int id in delMultipleQuestionDetailsIDs)
                {
                    Quiz_MultipleQuestionDetailsManager.DeleteQuiz_MultipleQuestionDetails(id);
                }

            }

            #endregion

            Response.Redirect("~/quiz/AdminDisplayQuiz_Comprehension.aspx", false);
        }
        catch (Exception ex)
        {
        }
    }
    protected void btnMoreFillInTheBlanksQuestion_Click(object sender, EventArgs e)
    {
        try
        {
            if (Session["fillInTheBlanks"] == null)
            {
                List<Quiz_FillInTheBlanks> fillInTheBlanks = new List<Quiz_FillInTheBlanks>();

                Quiz_FillInTheBlanks quiz_FillInTheBlank = new Quiz_FillInTheBlanks();
                quiz_FillInTheBlank.FillInTheBlanksID = 0;
                fillInTheBlanks.Add(quiz_FillInTheBlank);

                Session["fillInTheBlanks"] = fillInTheBlanks;
                gvQuiz_FillInTheBlanks.DataSource = Session["fillInTheBlanks"];

                gvQuiz_FillInTheBlanks.DataBind();
            }
            else
            {

                Quiz_FillInTheBlanks quiz_FillInTheBlank = new Quiz_FillInTheBlanks();
                quiz_FillInTheBlank.FillInTheBlanksID = 0;
                ((List<Quiz_FillInTheBlanks>)Session["fillInTheBlanks"]).Add(quiz_FillInTheBlank);

                gvQuiz_FillInTheBlanks.DataSource = Session["fillInTheBlanks"];

                gvQuiz_FillInTheBlanks.DataBind();
            }
        }
        catch (Exception ex)
        {
        }
    }
    private void showQuiz_ComprehensionData()
    {
        try
        {
             List<Quiz_TrueFalse> listTrueFalse = new List<Quiz_TrueFalse>();

            int comprehensionID = Convert.ToInt32(Request.QueryString["ID"].ToString());

            Quiz_Comprehension quiz_Comprehension = new Quiz_Comprehension();
            quiz_Comprehension = Quiz_ComprehensionManager.GetQuiz_ComprehensionByComprehensionID(comprehensionID);
            ddlCourseID.SelectedValue = quiz_Comprehension.CourseID.ToString();
            _loadSubject(quiz_Comprehension.CourseID);

            ddlSubjectID.SelectedValue = quiz_Comprehension.SubjectID.ToString();

            ChapterIDLoad(quiz_Comprehension.CourseID, quiz_Comprehension.SubjectID);

            ddlChapterID.SelectedValue = quiz_Comprehension.ChapterID.ToString();
            fckDesc.Value= quiz_Comprehension.Comprehension.ToString();

            #region Display TrueFalse Questions
            DataSet ds = Quiz_TrueFalseManager.GetQuiz_TrueFalseByComprehensionID(comprehensionID);
            listTrueFalse.Clear();
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                Quiz_TrueFalse trueFalse = new Quiz_TrueFalse();
                trueFalse.TrueFalseID = Convert.ToInt32(dr["TrueFalseID"].ToString());
                trueFalse.ComprehensionID = Convert.ToInt32(dr["ComprehensionID"].ToString());
                trueFalse.CourseID = Convert.ToInt32(dr["CourseID"].ToString());
                trueFalse.SubjectID = Convert.ToInt32(dr["SubjectID"].ToString());
                trueFalse.ChapterID = Convert.ToInt32(dr["ChapterID"].ToString());
                trueFalse.QuestionTitle = dr["QuestionTitle"].ToString();
                trueFalse.IsDrCr = Convert.ToBoolean(dr["IsDrCr"].ToString());
                trueFalse.IsTrue = Convert.ToBoolean(dr["IsTrue"].ToString());
                trueFalse.AddedBy = dr["AddedBy"].ToString();
                trueFalse.AddedDate = Convert.ToDateTime(dr["AddedDate"].ToString());
                trueFalse.ModifiedBy = dr["ModifiedBy"].ToString();
                trueFalse.ModifiedDate = Convert.ToDateTime(dr["ModifiedDate"].ToString());

                listTrueFalse.Add(trueFalse);
            }

            Session["listTrueFalse"] = listTrueFalse;

            gvQuiz_TrueFalse.DataSource = Session["listTrueFalse"];
            gvQuiz_TrueFalse.DataBind();
            #endregion

            #region Display DrCr Questions

            List<Quiz_TrueFalse> listDrCr = new List<Quiz_TrueFalse>();

            ds = new DataSet();
            ds = Quiz_TrueFalseManager.GetQuiz_DrCrByComprehensionID(comprehensionID);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                Quiz_TrueFalse drcr = new Quiz_TrueFalse();
                drcr.TrueFalseID = Convert.ToInt32(dr["TrueFalseID"].ToString());
                drcr.ComprehensionID = Convert.ToInt32(dr["ComprehensionID"].ToString());
                drcr.CourseID = Convert.ToInt32(dr["CourseID"].ToString());
                drcr.SubjectID = Convert.ToInt32(dr["SubjectID"].ToString());
                drcr.ChapterID = Convert.ToInt32(dr["ChapterID"].ToString());
                drcr.QuestionTitle = dr["QuestionTitle"].ToString();
                drcr.IsDrCr = Convert.ToBoolean(dr["IsDrCr"].ToString());
                drcr.IsTrue = Convert.ToBoolean(dr["IsTrue"].ToString());
                drcr.AddedBy = dr["AddedBy"].ToString();
                drcr.AddedDate = Convert.ToDateTime(dr["AddedDate"].ToString());
                drcr.ModifiedBy = dr["ModifiedBy"].ToString();
                drcr.ModifiedDate = Convert.ToDateTime(dr["ModifiedDate"].ToString());

                listDrCr.Add(drcr);
            }

            Session["listDrCr"] = listDrCr;

            gvQuiz_gvDrCr.DataSource = Session["listDrCr"];
            gvQuiz_gvDrCr.DataBind();
            #endregion

            #region Display Fill in The BlankQuestions

            List<Quiz_FillInTheBlanks> fillInTheBlanks = new List<Quiz_FillInTheBlanks>();

            DataSet dsFillInTheBlanks = Quiz_FillInTheBlanksManager.GetQuiz_FillInTheBlanksByComprehensionID(comprehensionID);
            foreach (DataRow dr in dsFillInTheBlanks.Tables[0].Rows)
            {
                Quiz_FillInTheBlanks fillInTheBlank = new Quiz_FillInTheBlanks();
                fillInTheBlank.FillInTheBlanksID = Convert.ToInt32(dr["FillInTheBlanksID"].ToString());
                fillInTheBlank.ComprehensionID = Convert.ToInt32(dr["ComprehensionID"].ToString());
                fillInTheBlank.Question = dr["Question"].ToString();
                fillInTheBlank.CourseID = Convert.ToInt32(dr["CourseID"].ToString());
                fillInTheBlank.SubjectID = Convert.ToInt32(dr["SubjectID"].ToString());
                fillInTheBlank.ChapterID = Convert.ToInt32(dr["ChapterID"].ToString());
                fillInTheBlank.AddedBy=dr["AddedBy"].ToString();
                fillInTheBlank.AddedDate = Convert.ToDateTime(dr["AddedDate"].ToString());
                fillInTheBlank.ModifiedBy = dr["ModifiedBy"].ToString();
                fillInTheBlank.ModifiedDate = Convert.ToDateTime(dr["ModifiedDate"].ToString());

                fillInTheBlanks.Add(fillInTheBlank);
            }

            Session["fillInTheBlanks"] = fillInTheBlanks;

            gvQuiz_FillInTheBlanks.DataSource = Session["fillInTheBlanks"];
            gvQuiz_FillInTheBlanks.DataBind();

            #endregion

            #region Display Multiple Choice Questions

            List<Quiz_MultipleQuestion> multipleQuestions = new List<Quiz_MultipleQuestion>();

            DataSet dsMultipleQuestions = Quiz_MultipleQuestionManager.GetQuiz_MultipleQuestionByComprehensionID(comprehensionID);

            foreach (DataRow dr in dsMultipleQuestions.Tables[0].Rows)
            {
                Quiz_MultipleQuestion multipleQuestion = new Quiz_MultipleQuestion();
                multipleQuestion.MultipleQustionID = Convert.ToInt32(dr["MultipleQustionID"].ToString());
                multipleQuestion.ComprehensionID = Convert.ToInt32(dr["ComprehensionID"].ToString());
                multipleQuestion.CourseID = Convert.ToInt32(dr["CourseID"].ToString());
                multipleQuestion.SubjectID = Convert.ToInt32(dr["SubjectID"].ToString());
                multipleQuestion.ChapterID = Convert.ToInt32(dr["ChapterID"].ToString());
                multipleQuestion.MultipleQuestionName = dr["MultipleQuestionName"].ToString();
                multipleQuestion.AddedBy = dr["AddedBy"].ToString();
                multipleQuestion.AddedDate = Convert.ToDateTime(dr["AddedDate"].ToString());
                multipleQuestion.ModifiedBy = dr["ModifiedBy"].ToString();
                multipleQuestion.ModifiedDate = Convert.ToDateTime(dr["ModifiedDate"].ToString());

                multipleQuestions.Add(multipleQuestion);
            }

            Session["multipleQuestions"] = multipleQuestions;

            gvQuiz_MultipleQuestion.DataSource = Session["multipleQuestions"];
            gvQuiz_MultipleQuestion.DataBind();
            #endregion

        }
        catch (Exception ex)
        {
        }
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            List<Quiz_FillInTheBlanksDetails> fillInTheBlanksDetails = new List<Quiz_FillInTheBlanksDetails>();
            fillInTheBlanksDetails = (List<Quiz_FillInTheBlanksDetails>)Session["fillInTheBlanksDetails"];

            string userID = Profile.card_id;
            Quiz_FillInTheBlanks fillInTheBlanks = new Quiz_FillInTheBlanks();
            fillInTheBlanks.Question = fckDesc.Value;
            fillInTheBlanks.ChapterID = int.Parse(ddlChapterID.SelectedValue);
            fillInTheBlanks.CourseID = int.Parse(ddlCourseID.SelectedValue);
            fillInTheBlanks.ComprehensionID = 0;
            fillInTheBlanks.SubjectID = int.Parse(ddlSubjectID.SelectedValue);

            fillInTheBlanks.AddedBy = userID;
            fillInTheBlanks.AddedDate = DateTime.Now;
            fillInTheBlanks.ModifiedBy = userID;
            fillInTheBlanks.ModifiedDate = DateTime.Now;
            int FillInTheBlanksID = Quiz_FillInTheBlanksManager.InsertQuiz_FillInTheBlanks(fillInTheBlanks);

            if (fillInTheBlanksDetails != null)
            {
                for (int i = 0; i < fillInTheBlanksDetails.Count; i++)
                {

                    Label lblSerial = ((Label)gvQuiz_FillInTheBlanksQuestionDetails.Rows[i].FindControl("lblSerial"));
                    TextBox txtanswer = ((TextBox)gvQuiz_FillInTheBlanksQuestionDetails.Rows[i].FindControl("txtAnswer"));

                    Quiz_FillInTheBlanksDetails fillInTheBlanksDtl = new Quiz_FillInTheBlanksDetails();
                    //	quiz_MultipleQuestionDetails.MultipleQuestionDetailsID=  int.Parse(ddlMultipleQuestionDetailsID.SelectedValue);
                    fillInTheBlanksDtl.FillInTheBlanksID = FillInTheBlanksID;
                    fillInTheBlanksDtl.QuestionSl = int.Parse(lblSerial.Text);
                    fillInTheBlanksDtl.Answer = txtanswer.Text;

                    fillInTheBlanksDtl.AddedBy = userID;
                    fillInTheBlanksDtl.AddedDate = DateTime.Now;
                    fillInTheBlanksDtl.ModifiedBy = userID;
                    fillInTheBlanksDtl.ModifiedDate = DateTime.Now;
                    int resutl = Quiz_FillInTheBlanksDetailsManager.InsertQuiz_FillInTheBlanksDetails(fillInTheBlanksDtl);
                }
            }

            if (txtAnswer.Text != "")
            {
                Quiz_FillInTheBlanksDetails fillInTheBlanksDtl = new Quiz_FillInTheBlanksDetails();
                //	quiz_MultipleQuestionDetails.MultipleQuestionDetailsID=  int.Parse(ddlMultipleQuestionDetailsID.SelectedValue);
                fillInTheBlanksDtl.FillInTheBlanksID = FillInTheBlanksID;
                fillInTheBlanksDtl.QuestionSl = 1;
                fillInTheBlanksDtl.Answer = txtAnswer.Text;

                fillInTheBlanksDtl.AddedBy = userID;
                fillInTheBlanksDtl.AddedDate = DateTime.Now;
                fillInTheBlanksDtl.ModifiedBy = userID;
                fillInTheBlanksDtl.ModifiedDate = DateTime.Now;
                int resutl = Quiz_FillInTheBlanksDetailsManager.InsertQuiz_FillInTheBlanksDetails(fillInTheBlanksDtl);
            }

            fckDesc.Value = string.Empty;
            txtAnswer.Text = string.Empty;

            fillInTheBlanksDetails.Clear();
            Session["fillInTheBlanksDetails"] = null;

            gvQuiz_FillInTheBlanksQuestionDetails.DataSource = fillInTheBlanksDetails;
            gvQuiz_FillInTheBlanksQuestionDetails.DataBind();

            if (ddlExamID.SelectedValue != "0")
            {
                Quiz_ExamQuestionDetails qe_Details = new Quiz_ExamQuestionDetails(0, int.Parse(ddlExamID.SelectedValue), (int)Enums.QuestionTypes.FillInTheBlanks,
                        FillInTheBlanksID,  Profile.card_id, DateTime.Now,  Profile.card_id, DateTime.Now);
                Quiz_ExamQuestionDetailsManager.InsertQuiz_ExamQuestionDetails(qe_Details);
            }
        }
        catch (Exception ex)
        {
        }
    }
    private void showQuiz_FillInTheBlanksData()
    {
        try
        {
            List<Quiz_FillInTheBlanksDetails> fillInTheBlanksDetails = new List<Quiz_FillInTheBlanksDetails>();

            Quiz_FillInTheBlanks quiz_FillInTheBlanks = new Quiz_FillInTheBlanks();
            quiz_FillInTheBlanks = Quiz_FillInTheBlanksManager.GetQuiz_FillInTheBlanksByFillInTheBlanksID(Int32.Parse(Request.QueryString["ID"]));

            _loadSubject(quiz_FillInTheBlanks.CourseID);

            ChapterIDLoad(quiz_FillInTheBlanks.CourseID, quiz_FillInTheBlanks.SubjectID);

            fckDesc.Value= quiz_FillInTheBlanks.Question.ToString();
            ddlCourseID.SelectedValue = quiz_FillInTheBlanks.CourseID.ToString();
            ddlSubjectID.SelectedValue = quiz_FillInTheBlanks.SubjectID.ToString();
            ddlSubjectID_SelectedIndexChanged(this, new EventArgs());
            ddlChapterID.SelectedValue = quiz_FillInTheBlanks.ChapterID.ToString();

            DataSet ds = Quiz_FillInTheBlanksDetailsManager.GetQuiz_FillInTheBlanksByFillInTheBlanksID(quiz_FillInTheBlanks.FillInTheBlanksID);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                Quiz_FillInTheBlanksDetails fitbDetails = new Quiz_FillInTheBlanksDetails();
                fitbDetails.FillInTheBlanksDetailsID = Convert.ToInt32(dr["FillInTheBlanksDetailsID"].ToString());
                fitbDetails.FillInTheBlanksID = Convert.ToInt32(dr["FillInTheBlanksID"].ToString());
                fitbDetails.QuestionSl = Convert.ToInt32(dr["QuestionSl"].ToString());
                fitbDetails.Answer = dr["Answer"].ToString();
                fitbDetails.AddedBy = dr["AddedBy"].ToString();
                fitbDetails.AddedDate =Convert.ToDateTime(dr["AddedDate"].ToString());
                fitbDetails.ModifiedBy = dr["ModifiedBy"].ToString();
                fitbDetails.ModifiedDate = Convert.ToDateTime(dr["ModifiedDate"].ToString());

                fillInTheBlanksDetails.Add(fitbDetails);
            }

            Session["fillInTheBlanksDetails"] = fillInTheBlanksDetails;

            gvQuiz_FillInTheBlanksQuestionDetails.DataSource = Session["fillInTheBlanksDetails"];
            gvQuiz_FillInTheBlanksQuestionDetails.DataBind();
        }
        catch (Exception ex)
        {
        }
    }