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;
 }
예제 #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);
            }
        }
예제 #3
0
 private void result(string testID)
 {
     clsMethods clMeth = new clsMethods();
     clsFillQuestion clQue = new clsFillQuestion();
     string xml = clQue.getXml(testID);
     Tuple<bool, List<int>, List<int>, int, int> aa = clMeth.PartAndTotalResult(clMeth.XmlToClasses(xml));//list1,
     string pic;
     if (aa.Item1 == true)
     {
         //rightstyle='border:1px solid black'
         pic = "<div ><img src='pictures/right.jpg' style='height:80px; width:auto; border:1px solid #dbdbdb;'></img> <h3>Godkänd</h3></div>";
         panData.Visible = true;
     }
     else
     {
         //pic = "<img src='pictures/wrong.jpg' style='height:80px; width:auto'></img> <h3>Underkänd</h3>";
         pic = "<div ><img src='pictures/wrong.jpg' style='height:80px; width:auto; border:1px solid #dbdbdb;'></img> <h3>Underkänd</h3></div>";
         panData.Visible = false;
     }
     lblRes.Text = pic;
     DataTable dt = new DataTable();
     dt.Columns.Add("Produkt");
     dt.Columns.Add("Ekonomi");
     dt.Columns.Add("Etik");
     dt.Columns.Add("Total");
     dt.Rows.Add(aa.Item2[0] + @"/" + aa.Item3[0], aa.Item2[1] + @"/" + aa.Item3[1], aa.Item2[2] + @"/" + aa.Item3[2], aa.Item4 + @"/" + aa.Item5);
     GRID.DataSource = dt;
     GRID.DataBind();
     //Produkt	Ekonomi	Etik
 }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (HttpContext.Current.Session["userid"] != null)
                {

                    Classes.clsLogin clsLog = new Classes.clsLogin();
                    if (clsLog.getLevel(HttpContext.Current.Session["userid"].ToString()) == "deltagare") //Inloggad
                    {
                        Label2.Text = HttpContext.Current.Session["userid"].ToString();
                    }
                    else //Är inloggad med fel credinatl
                    {
                        Response.Redirect("default.aspx");
                    }
                }
                else //Har inte loggat in
                {
                    Response.Redirect("login.aspx");
                }
                if (ViewState["testID"] != null || Convert.ToString(ViewState["testID"]) != "")
                {
                    testID = ViewState["testID"].ToString();
                }
                else
                {
                    int tstID;
                    clsStartingTest clsTestID = new clsStartingTest();
                    testID = clsTestID.getTestid(HttpContext.Current.Session["userid"].ToString());
                    if (int.TryParse(testID, out tstID))
                    {
                        ViewState["testID"] = testID;
                    }
                }
                // ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:timeToEnd(); ", true); //Skapar en timer för nedräkning javascript
                Label2.Text = Label2.Text + "  testID_ " + testID;
                Classes.clsTestMenuFill clMenFill = new Classes.clsTestMenuFill();
                cmbChooseQue.DataValueField = "id";
                cmbChooseQue.DataTextField = "name";
                cmbChooseQue.DataSource = clMenFill.read(testID);
                cmbChooseQue.DataBind();
                cmbChooseQue.Enabled = false;
                if (cmbChooseQue.Items.Count > 0) //Om den inte hämtat någon data så blir det felmedelande
                {
                    ViewState["alfred"] = cmbChooseQue.SelectedItem.ToString();
                    fillquestion();
                }
                else
                {
                    Label1.Text = "Något gick fel försök igen";
                    btnNext.Enabled = false;
                    btnPrevious.Enabled = false;
                    rbQuestionList.Enabled = false;
                    cmbChooseQue.Enabled = false;
                }
            }
            else
            {
                testID = ViewState["testID"].ToString();
            }
            if (btnNext.Text == "Lämna in")
            {
                checkAnswers();
                clsMethods clMeth = new clsMethods();
                clsFillQuestion clQue = new clsFillQuestion();
                clsRightOrNot clRi = new clsRightOrNot();

                string handle = clRi.canHandIn(ViewState["testID"].ToString());
                if (handle == "TIDEN DROG ÖVER")
                {
                    clRi.setFail(ViewState["testID"].ToString()); //Om tiden har gått över 30min så har man failat
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "alert('Du lämnade in testet för sent du blir underkänd');", true);
                    Response.Redirect("default.aspx");
                    return;
                }
                else if(handle != "OK")
                {
                    return;
                }
                string xml = clQue.getXml(ViewState["testID"].ToString());
                Tuple<bool, List<int>, List<int>, int, int> aa = clMeth.PartAndTotalResult(clMeth.XmlToClasses(xml));//list1,
                bool resultP = aa.Item1;
                //Debug.WriteLine("TESTID " + testID + "  " + resultP.ToString() + " res och " + aa.Item4.ToString() + " till sist " + aa.Item5);
                clRi.updateResult(ViewState["testID"].ToString(), resultP);
                Response.Redirect("webbtestresult.aspx");
            }
            string start;
            if (ViewState["startime"] == null)
            {
                clsSetGetStarttime clSta = new clsSetGetStarttime();
                start = clSta.getStarttime(ViewState["testID"].ToString()).ToString();
                ViewState.Add("startime", start.ToString());
            }
            else
            {
                start = ViewState["startime"].ToString();
            }
            ClientScript.RegisterStartupScript(GetType(), "Javascript", "CallHandler('" + start + "'); ", true);
        }
예제 #5
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;
        }