/*........................................................................................................*/
        protected void Page_Load(object sender, EventArgs e)
        {
            Timer1.Tick += Timer1_Tick;
            int galka = 0;

            Session["galka"] = null;
            if (Session["Index"] == null)
            {
                Session["Index"] = 0;
            }
            if (Session["AnswerAll"] != null)
            {
                //  Buttonnaekz.Enabled = true;
            }
            /***------------------------------------------блок списка вопросов----------------------------------***/
            var questId = Convert.ToInt32(Request["questId"]);

            try
            {
                if (Session["quest_list"] != null)
                {
                    int r         = 1;
                    int i         = 0;
                    var Qest_list = (List <Questionss>)Session["quest_list"];
                    var Answ_list = (List <Answerss>)Session["answ_list"];
                    var countqest = Qest_list.Count();
                    //для первого вопроса
                    if (questId == 0)
                    {
                        foreach (var td in Qest_list)
                        {
                            if (questId != td.ID)
                            {
                                questId = td.ID;
                            }
                            break;
                        }
                    }
                    //загрузка ответов из сессии
                    QuestionsPerPart.Items.Clear();
                    foreach (var t in Qest_list)
                    {
                        var item = new ListItem
                        {
                            Value = t.ID.ToString(),
                            Text  = string.Concat("Question ", r)// t.ID.ToString() + "--"
                        };
                        if (t.ID == questId)
                        {
                            item.Selected = true;
                        }
                        else
                        {
                            item.Selected = false;
                        }
                        QuestionsPerPart.Items.Add(item);
                        if (Session["Values"] != null)
                        {
                            var enums    = Session["Values"] as List <ResultClassMy>;
                            var cur_flag = enums.Where(en => en.QuestionId == t.ID);
                            if (cur_flag.Count() > 0)
                            {
                                if (cur_flag.First().Result)
                                {
                                    QuestionsPerPart.Items[i].Attributes["style"] = "color:green";
                                }                                                                                                 //ответ верный

                                else
                                {
                                    QuestionsPerPart.Items[i].Attributes["style"] = "color:red";
                                }                                                                    //ответ не правильный
                            }
                            else
                            {
                                QuestionsPerPart.Items[i].Attributes["style"] = "color:black";//нет ответа
                            }
                        }
                        i++; r++;
                    }
                    i = 0;

                    /*------------------------------------------------------------------------------------------------------*/

                    /*-------------------------------------------блок выводa name вопроса-------------------------------------------*/
                    foreach (var item in Qest_list)
                    {
                        if (item.ID == questId)
                        {
                            LabelVoprosa.Text      = "Question: " + " " + item.QuestName;//вывод текста вопроса + item.ID +
                            LabelVoprosa.ForeColor = System.Drawing.Color.Black;
                            LabelVoprosa.Font.Bold = true;
                        }
                        continue;
                    }
                    /*------------------------------------------блок вывода ответов-------------------------------------------*/
                    int           f   = 0;
                    int           l   = 1;
                    int           ses = 0;
                    List <string> _otv_list;
                    List <string> Perem_otv_list;
                    string        otv;


                    if (Session["quiestid"] == null)
                    {
                        Session["ff"] = questId;
                    }
                    if ((int)Session["ff"] != questId)
                    {
                        Session["Perem_otv_list"] = null;
                        Session["quiestid"]       = null;
                    }
                    if (Session["Perem_otv_list"] == null && Session["quiestid"] == null)
                    {
                        _otv_list      = new List <string>();
                        Perem_otv_list = new List <string>();
                        foreach (var c in Answ_list)
                        {
                            if (c.QuestionId == questId)
                            {
                                otv = c.AnswerText;
                                _otv_list.Add(otv);
                            }
                        }
                        //Perem_otv_list = Operation.PermOtveti(_otv_list);
                        Perem_otv_list            = _otv_list;
                        Session["quiestid"]       = questId;
                        Session["ff"]             = questId;
                        Session["Perem_otv_list"] = Perem_otv_list;
                    }
                    else
                    {
                        Perem_otv_list = (List <string>)Session["Perem_otv_list"];
                    }
                    foreach (var c in Answ_list)
                    {
                        if (c.QuestionId == questId)
                        {
                            foreach (var d in Perem_otv_list)
                            {
                                var chk = new RadioButton//создание чкбоксов
                                {
                                    //BackColor = System.Drawing.Color.Yellow,
                                    Text         = d,
                                    ID           = "chk" + f.ToString(),
                                    AutoPostBack = true,
                                    Checked      = false,
                                    GroupName    = questId.ToString()
                                };
                                chk.Width           = Request.Browser.ScreenPixelsWidth;
                                chk.Font.Size       = 14;
                                chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
                                chk.ForeColor       = System.Drawing.Color.Black;
                                chk.Font.Name       = "Calibri";
                                Panel2.Controls.Add(chk);
                                Panel2.Controls.Add(new LiteralControl("<br /><br />"));
                                f++;
                            }
                            break;
                        }

                        if (c.IsAnswerCorrect == true && c.QuestionId == questId)
                        {
                            if (Session["galka"] == null)
                            {
                                Panel2.Controls.Add(new LiteralControl("<table border='1'>"));
                            }
                            TextBoxVariant.Visible = true;
                            //Primer.Visible = true;
                            //ButtonPOrIzmen.Visible = true;
                            Panel2.Controls.Add(new LiteralControl("<tr><td><span style='font-weight: bold; color: black;'>"));
                            var llab = new Label
                            {
                                BackColor = System.Drawing.Color.Yellow,
                                Text      = c.AnswerText,
                                ID        = "llab" + f.ToString(),
                            };
                            llab.Width       = 300;
                            llab.Font.Size   = 14;
                            llab.ForeColor   = System.Drawing.Color.Black;
                            llab.BorderColor = System.Drawing.Color.Black;
                            llab.Font.Name   = "Calibri";
                            Panel2.Controls.Add(llab);
                            Panel2.Controls.Add(new LiteralControl("</span></td>"));
                            f++; Session["galka"] = ++galka;
                            // continue;
                        }

                        if (c.IsAnswerCorrect == false && c.QuestionId == questId)
                        {
                            if (Session["ss"] == null)
                            {
                                Session["ss"] = ses;
                            }
                            Panel2.Controls.Add(new LiteralControl("<td><span style='font-weight: bold; color: black;'>"));

                            var labf = new Label
                            {
                                BackColor = System.Drawing.Color.Yellow,
                                Text      = "[" + l + "]" + c.AnswerText,
                                ID        = "chk" + l.ToString(),
                            };
                            labf.Width       = 300;
                            labf.Font.Size   = 14;
                            labf.ForeColor   = System.Drawing.Color.Black;
                            labf.BorderColor = System.Drawing.Color.Black;
                            labf.Font.Name   = "Calibri";
                            Panel2.Controls.Add(labf);
                            l++;
                            Panel2.Controls.Add(new LiteralControl("</span></td></tr>"));
                            Session["galka"] = ++galka;
                        }


                        if (Session["galka"] != null)
                        {
                            Panel2.Controls.Add(new LiteralControl("</table>"));
                            Session["galka"] = null;
                        }
                    }
                }
            }
            catch (Exception er)
            {
                string err = er.Message;
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["login"] == null)
            {
                Response.Redirect("Login.aspx");
            }
            else
            {
                lblUserName.Text = Session["login"].ToString();
            }
            //int galka = 0;
            Session["galka"] = null;
            var testId  = Convert.ToInt32(Request["testId"]);
            int first   = obj.QUESTION.Where(h => h.TESTID == testId).Select(y => y.QUESTIONID).FirstOrDefault();
            var questId = Convert.ToInt32(Request["questId"]);

            if (questId == first || questId == 1)
            {
                BackButton.Visible = false;
            }
            Label1.Text = obj.TEST.Single(p => p.TESTID == testId).TESTTITLE;
            var text = obj.QUESTION.Where(h => h.TESTID == testId).FirstOrDefault();

            // перенести в админку на закрытие окна вопросов
            var qs = obj.QUESTION.Where(k => k.TESTID == testId).ToList();

            for (int iQ = 0; iQ < qs.Count(); iQ++)
            {
                qs[iQ].QUESTIONNUMBER = iQ + 1;
            }
            obj.SaveChanges();
            //

            if (text == null)
            {
                questId = obj.QUESTION.Where(h => h.TESTID == testId).Select(y => y.QUESTIONID).FirstOrDefault();
                text    = obj.QUESTION.Where(h => h.TESTID == testId && h.QUESTIONID == questId).FirstOrDefault();
                if (text == null)
                {
                    string url = "NotFound.aspx";
                    Response.Redirect(url);
                }
            }
            Label2.ForeColor = System.Drawing.Color.Black;
            Label2.Font.Bold = true;
            Label2.Text      = string.Concat("Question №  ", obj.QUESTION.Where(k => k.QUESTIONID == questId).First().QUESTIONNUMBER.ToString(), ": ", text.QUESTIONTEXT);
            //  var answers = obj.Answers.Where(a => a.idpart == testId && a.id_questions == questId);
            var questions = obj.QUESTION.Where(q => q.TESTID == testId);
            var qas       = obj.QA.Where(d => d.QUESTIONID == questId).ToList();

            //var Answ_lis = obj.ANSWER.Where(po => qas.Select(d => d.ANSWERID).Contains(po.ANSWERID));
            if (questId >= questions.Count())
            {
                NextButton.Visible = false;
            }
            var i = 0;

            QuestionsPerPart.Items.Clear();
            foreach (var q in questions)
            {
                var item = new ListItem {
                    Value = q.QUESTIONID.ToString(), Text = string.Concat("Question № ", q.QUESTIONNUMBER.ToString())
                };
                if (q.QUESTIONID == questId)
                {
                    item.Selected = true;
                }
                else
                {
                    item.Selected = false;
                }
                QuestionsPerPart.Items.Add(item);
                if (Session["Values"] != null)
                {
                    var enums    = Session["Values"] as List <ResultClass>;
                    var cur_flag = enums.Where(en => en.QuestionId == q.QUESTIONID);
                    if (cur_flag.Count() > 0)
                    {
                        if (cur_flag.First().Result)
                        {
                            QuestionsPerPart.Items[i].Attributes["style"] = "color:green";
                        }
                        else
                        {
                            QuestionsPerPart.Items[i].Attributes["style"] = "color:red";
                        }
                    }
                    else
                    {
                        QuestionsPerPart.Items[i].Attributes["style"] = "color:black";
                    }
                }
                i++;
            }


            i = 0;
            int f   = 0;
            int l   = 1;
            int ses = 0;

            //foreach (var c in Answ_lis)
            foreach (var c in qas)
            {
                //if (c.QUESTIONID == questId)
                //{
                var chk = new RadioButton    //создание чкбоксов
                {
                    //BackColor = System.Drawing.Color.Yellow,
                    Text      = obj.ANSWER.Where(k => k.ANSWERID == c.ANSWERID).First().ANSWERTEXT,
                    ID        = "chk" + f.ToString(),
                    GroupName = questId.ToString(),
                    // AutoPostBack = true,
                    Checked = false,
                };
                chk.Width     = Request.Browser.ScreenPixelsWidth;
                chk.Font.Size = 14;
                chk.ForeColor = System.Drawing.Color.Black;
                chk.Font.Name = "Calibri";
                Panel2.Controls.Add(chk);
                Panel2.Controls.Add(new LiteralControl("<br /><br />"));
                f++;
                //}
                //if (c.CORRECTANSWER == true)
                //{
                //    if (Session["galka"] == null)
                //    {
                //        Panel2.Controls.Add(new LiteralControl("<table border='0'>"));

                //    }
                //    TextBox1.Visible = true;
                //    Label3.Visible = true;
                //    //Button1.Visible = true;
                //    Panel2.Controls.Add(new LiteralControl("<tr><td><span style='font-weight: bold; color: black;'>"));
                //    var llab = new Label
                //    {
                //        BackColor = System.Drawing.Color.Yellow,
                //        Text = obj.ANSWER.Where(k=>k.ANSWERID == c.ANSWERID).First().ANSWERTEXT,
                //        ID = "llab" + f.ToString(),

                //    };
                //    llab.Width = 300;
                //    llab.Font.Size = 14;
                //    llab.ForeColor = System.Drawing.Color.Black;
                //    llab.BorderColor = System.Drawing.Color.Black;
                //    llab.Font.Name = "Calibri";
                //    Panel2.Controls.Add(llab);
                //    Panel2.Controls.Add(new LiteralControl("</span></td>"));
                //    f++; Session["galka"] = ++galka;
                //    continue;
                //}
                // ???
                //if (c.CORRECTANSWER == false)
                //{
                //    if (Session["ss"] == null) { Session["ss"] = ses; }
                //    Panel2.Controls.Add(new LiteralControl("<td><span style='font-weight: bold; color: black;'>"));

                //    var liu = new Label
                //    {
                //        BackColor = System.Drawing.Color.Yellow,
                //        Text = "[" + l + "]" + obj.ANSWER.Where(d=>d.ANSWERID == c.ANSWERID).First().ANSWERTEXT,
                //        ID = "chk" + l.ToString(),

                //    };
                //    liu.Width = 300;
                //    liu.Font.Size = 14;
                //    liu.ForeColor = System.Drawing.Color.Black;
                //    liu.BorderColor = System.Drawing.Color.Black;
                //    liu.Font.Name = "Calibri";
                //    Panel2.Controls.Add(liu);
                //    l++;
                //    Panel2.Controls.Add(new LiteralControl("</span></td></tr>"));
                //}
            }
            Panel2.Controls.Add(new LiteralControl("</table>"));
        }