private bool fillquestion()//Hämtar frågorna 
 {
     Classes.clsFillQuestion clFill = new Classes.clsFillQuestion();         
     try
     {
         rbQuestionList.DataTextField = "name";
         rbQuestionList.DataValueField = "id";
         rbQuestionList.DataSource = clFill.readXML(cmbChooseQue.SelectedValue.ToString(), Server.MapPath("~/questions.xml"));
         rbQuestionList.DataBind();
     }
     catch (Exception ex)
     {
         Label1.Text = ex.ToString();
     }
     
     return true;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Lägger till varje fråga i paneln och visar om man har svarat rätt eller fel. 
        /// </summary>
        /// <param name="queID"></param>
        /// <param name="ttID"></param>
        private void fillData(string queID, string ttID)
        {
            clsFillQuestion quest = new clsFillQuestion();
            Tuple<DataTable, string, int, string, string> Que = quest.readXML(queID, ttID);
            DataTable dt = Que.Item1;

            Label lbN = new Label();
            string img = "";
            if (Que.Item5 != null)
            {
                img = "<img src='pictures/" + Que.Item5 + "' style='height: 150px; width: 150px;'alt='bilden' />";
            }
            lbN.ID = "QUEST_" + queID;
            lbN.Text = "<h5>" + Que.Item2 + "</h5> " + img  + "<br />";

            panData.Controls.Add(lbN);
            int many = 0;
            for (int i = 0; i < Que.Item1.Rows.Count; i++)
            {
                if (Que.Item1.Rows[i]["answ"].ToString().ToUpper() == "TRUE")
                {
                    many += 1;
                }
            }
            if (many > 1) //Om det finns flera valmöjligheter så sätter vi ut en checkboxliist
            {
                CheckBoxList li = new CheckBoxList();
                li.ID = queID;
                li.DataTextField = "name";
                li.DataValueField = "id";
                li.DataSource = dt;
                li.DataBind();
                li.Enabled = false;
                for (int i = 0; i < dt.Rows.Count; i++)  //KRyssar i de som redan användaren har kryssat i
                {
                    int val = 0;
                    if (dt.Rows[i]["sel"].ToString().ToUpper() == "TRUE")
                    {
                        if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        {
                            li.Items.FindByValue(val.ToString()).Selected = true; //Sätter alla som finns till true så att den kan vara multippella
                            li.Items.FindByValue(val.ToString()).Attributes.Add("style", "border: 2px solid red;");
                        }
                        val = 0;
                    }
                    if (dt.Rows[i]["answ"].ToString().ToUpper() == "TRUE")
                    {
                        if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        {
                            li.Items.FindByValue(val.ToString()).Attributes.Add("style", "border: 2px solid green;"); //= System.Drawing.Color.Green; //Sätter alla som finns till true så att den kan vara multippella
                        }
                        val = 0;
                    }
                }
                panData.Controls.Add(li);
            }
            else
            {
                RadioButtonList li = new RadioButtonList();
                li.ID = queID;
                li.DataTextField = "name";
                li.DataValueField = "id";
                li.DataSource = Que.Item1;
                li.DataBind();
                li.Enabled = false;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int val = 0;
                    if (dt.Rows[i]["sel"].ToString().ToUpper() == "TRUE")
                    {
                        if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        {
                            li.SelectedValue = val.ToString();
                            li.Items.FindByValue(val.ToString()).Attributes.Add("style", "border: 2px solid red;");
                        }
                    }
                    if (dt.Rows[i]["answ"].ToString().ToUpper() == "TRUE") //Om man vill kolla på frågorna igen så markeras den grön om det är okej
                    {
                        if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        {
                            li.Items.FindByValue(val.ToString()).Attributes.Add("style", "border: 2px solid green;");
                        }
                    }
                }
                panData.Controls.Add(li);
            }
        }
Exemplo n.º 3
0
        //Hämtar frågorna
        /// <summary>
        /// Laddar in frågorna i antingen checboxlist eller radiobuttonlist
        /// </summary>
        /// <returns></returns>
        private bool fillquestion()
        {
            Label1.Text = "Du är på fråga: <b>" + cmbChooseQue.SelectedItem.Text + " av " + cmbChooseQue.Items.Count.ToString() + " frågor </b>";
            Classes.clsFillQuestion clFill = new Classes.clsFillQuestion();
            Tuple<DataTable, string, int, string, string> getData = clFill.readXML(cmbChooseQue.SelectedValue.ToString(), testID);
            DataTable dt = getData.Item1;
            int antVal = getData.Item3;
            bool lookAgain = false;
            string part = getData.Item4.ToUpper();
            if (HttpContext.Current.Session["seeTest"] != null)
            {
                lookAgain = bool.Parse(HttpContext.Current.Session["seeTest"].ToString());
                if (lookAgain) //Om man vill titta igen får man inte kryssa i något
                {
                    rbQuestionList.Enabled = false;
                    chkQuestionList.Enabled = false;
                }
            }

            if (part == "ETIK")
            {
                part = " Etik och regelverk";
            }
            else if(part == "EKONOMI")
            {
                part = " Ekonomi – nationalekonomi, finansiell ekonomi och privatekonomi.";
            }
            else if (part == "PRODUKTER")
            {
                part = " Produkter och hantering av kundens affärer ";
            }
            Label3.Text = "Frågan är inom området: <b>" + part + "</b> <br />" + "<h4>" + getData.Item2 + "</h4>";
            ViewState.Add("antQue", antVal.ToString());
            lblChoose.Text = " Du ska välja: <b>" + antVal.ToString() + "</b> svar";
            if (getData.Item5 != "")
            {
                Label2.Text = "<img src='pictures/" + getData.Item5 + "' style='height: 250px; width: 250px;'alt='bilden' />";
            }
            else
            {
                Label2.Text = "";
            }
            try
            {
                int sumCheck = 0;
                chkQuestionList.DataSource = null;
                chkQuestionList.DataBind();
                rbQuestionList.DataSource = null;
                rbQuestionList.DataBind();
                for (int i = 0; i < dt.Rows.Count; i++) //Kollar om det finns flera som går att välja
                {
                    if (dt.Rows[i]["answ"].ToString().ToUpper() == "TRUE")
                    {
                        sumCheck += 1;
                    }
                }
                if (sumCheck > 1)//Om det finns flera val att välja på visas den listan
                {
                    btnNext.OnClientClick = "return userValid('chkQuestionList', '" + antVal + "');";
                    btnPrevious.OnClientClick = "return userValid('chkQuestionList', '" + antVal + "');";
                    rbQuestionList.Visible = false;
                    chkQuestionList.Visible = true;
                    chkQuestionList.DataTextField = "name";
                    chkQuestionList.DataValueField = "id";
                    chkQuestionList.DataSource = dt;
                    chkQuestionList.DataBind();
                    for (int i = 0; i < dt.Rows.Count; i++)  //KRyssar i de som redan användaren har kryssat i
                    {
                        int val = 0;
                        if (dt.Rows[i]["sel"].ToString().ToUpper() == "TRUE")
                        {
                            if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                            {
                                chkQuestionList.Items.FindByValue(val.ToString()).Selected = true; //Sätter alla som finns till true så att den kan vara multippella
                            }
                            val = 0;
                        }
                        //if (dt.Rows[i]["answ"].ToString().ToUpper() == "TRUE" )
                        //{
                        //    if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        //    {
                        //        chkQuestionList.Items.FindByValue(val.ToString()).Attributes.Add("style", "background-color: green;"); //= System.Drawing.Color.Green; //Sätter alla som finns till true så att den kan vara multippella
                        //    }
                        //    val = 0;
                        //}
                    }
                }
                else //Om det är ett val så kommer man till en radiobuttonlist
                {
                    btnNext.OnClientClick = "return userValid('rbQuestionList', '" + antVal + "');";
                    btnPrevious.OnClientClick = "return userValid('rbQuestionList', '" + antVal + "');";
                    rbQuestionList.Visible = true;
                    chkQuestionList.Visible = false;
                    rbQuestionList.DataTextField = "name";
                    rbQuestionList.DataValueField = "id";
                    rbQuestionList.DataSource = dt;
                    rbQuestionList.DataBind();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int val = 0;
                        if (dt.Rows[i]["sel"].ToString().ToUpper() == "TRUE")
                        {
                            if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                            {
                                rbQuestionList.SelectedValue = val.ToString();
                            }
                        }
                        //if (dt.Rows[i]["answ"].ToString().ToUpper() == "TRUE" ) //Om man vill kolla på frågorna igen så markeras den grön om det är okej
                        //{
                        //    if (int.TryParse(dt.Rows[i]["id"].ToString(), out val))
                        //    {
                        //        rbQuestionList.Items.FindByValue(val.ToString()).Attributes.Add("style", "background-color: green;");
                        //    }
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
            return true;
        }