public DAL_Question(Question question)
        {
            if (question is Multiple_Choice)
            {
                Multiple_Choice myMC = (Multiple_Choice)question;
                Type = "mc";
                JsonQuestion json = JsonQuestion.getJsonQuestion(myMC.QuestionContent, myMC.ChoiceA, myMC.ChoiceB, myMC.ChoiceC, myMC.ChoiceD);
                QuestionContent = Newtonsoft.Json.JsonConvert.SerializeObject(json);
            }
            else if (question is Compound)
            {
                Compound myCP = (Compound)question;
                Type = "cp";
                JsonQuestion json = JsonQuestion.getJsonQuestion(myCP.QuestionContent, myCP.ChoiceA, myCP.ChoiceB, myCP.ChoiceC, myCP.ChoiceD);
                QuestionContent = Newtonsoft.Json.JsonConvert.SerializeObject(json);
            }
            else if (question is Fill_In)
            {
                Fill_In myFi = (Fill_In)question;
                Type = "fi";
                JsonQuestion json = JsonQuestion.getJsonQuestion(myFi.QuestionContent);
                QuestionContent = JsonConvert.SerializeObject(json);
            }
            else if (question is Fast)
            {
                Fast myFa = (Fast)question;
                Type = "fs";
                JsonQuestion json = JsonQuestion.getJsonQuestion(myFa.QuestionContent);
                QuestionContent = JsonConvert.SerializeObject(json);
            }
            else if (question is True_False)
            {
                True_False myTf = (True_False)question;
                Type = "tf";
                JsonQuestion json = JsonQuestion.getJsonQuestion(myTf.QuestionContent);
                QuestionContent = JsonConvert.SerializeObject(json);
            }

            AnswerKey = question.AnswerKey;
        }
Ejemplo n.º 2
0
 public string QuestionContentToString()
 {
     if (this is Compound)
     {
         Compound ques = this as Compound;
         return(ques.QuestionContent + "\nA." + ques.ChoiceA + "\tB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\tD." + ques.ChoiceD);
     }
     else if (this is Multiple_Choice)
     {
         Multiple_Choice ques = this as Multiple_Choice;
         return(ques.QuestionContent + "\nA." + ques.ChoiceA + "\tB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\tD." + ques.ChoiceD);
     }
     else if (this is Fill_In)
     {
         Fill_In ques = this as Fill_In;
         return(ques.QuestionContent.Replace("NNN", "..."));
     }
     else
     {
         return(this.QuestionContent);
     }
 }
Ejemplo n.º 3
0
        private void UpdateView(Question nextQues, bool isShownAnswerkey)
        {
            //throw new NotImplementedException();

            if (_view is V_Vong1_Thi)
            {
                V_Vong1_Thi myView = _view as V_Vong1_Thi;
                if (nextQues == null)// het cau hoi vong nay
                {
                    return;

                    ////
                    ///
                }
                if (nextQues is Compound)
                {
                    Compound ques = nextQues as Compound;
                    myView.QuestionText = ques.QuestionContent + "\nA." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                }
                else if (nextQues is Multiple_Choice)
                {
                    Multiple_Choice ques = nextQues as Multiple_Choice;
                    myView.QuestionText = ques.QuestionContent + "\nA." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                }
                else if (nextQues is Fill_In)
                {
                    Fill_In ques = nextQues as Fill_In;
                    myView.QuestionText = ques.QuestionContent.Replace("NNN", "...");
                }
                else
                {
                    myView.QuestionText = nextQues.QuestionContent;
                }

                myView.QuestionNumText = nextQues.STT;

                if (isShownAnswerkey)
                {
                    try
                    {
                        myView.AnswerKey = _preQuestion.AnswerKey;
                    }
                    catch
                    {
                    }
                    _tmrCheckCauhoi.Stop();

                    Timer tmrDung = new Timer();
                    tmrDung.Enabled = true;
                    //
                    if (myView.AnswerKey.Length < 10)
                    {
                        tmrDung.Interval = 1000;
                    }
                    else
                    {
                        tmrDung.Interval = 2000;
                    }
                    tmrDung.Start();
                    tmrDung.Tick += delegate(object send, EventArgs ev)
                    {
                        _tmrCheckCauhoi.Start();
                        myView.AnswerKey = "";
                        tmrDung.Stop();
                        tmrDung.Dispose();
                    };
                }
                else
                {
                    myView.AnswerKey = "";
                }
            }
        }
        private void UpdateView(Question nextQues, bool isShownAnswerkey)
        {
            //throw new NotImplementedException();

            if (_view is V_Led_Vong1)
            {
                V_Led_Vong1 myView = _view as V_Led_Vong1;
                if (nextQues == null)// het cau hoi vong nay
                {
                    return;

                    ////
                    ///
                }
                if (nextQues.ImageRelativePath == null || nextQues.ImageRelativePath == "")
                {
                    //throw new NotImplementedException();'
                    if (nextQues is Compound)
                    {
                        Compound ques = nextQues as Compound;
                        myView.QuestionText        = ques.QuestionContent;
                        myView.QuestionMaybeAnswer = "A." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                    }
                    else if (nextQues is Multiple_Choice)
                    {
                        Multiple_Choice ques = nextQues as Multiple_Choice;
                        myView.QuestionText        = ques.QuestionContent;
                        myView.QuestionMaybeAnswer = "A." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                        myView.ShowABCD            = true;
                    }
                    else if (nextQues is Fill_In)
                    {
                        Fill_In ques = nextQues as Fill_In;
                        myView.QuestionText = ques.QuestionContent.Replace("NNN", "...");
                        myView.ShowABCD     = false;
                    }
                    else
                    {
                        myView.QuestionText = nextQues.QuestionContent;
                        myView.ShowABCD     = false;
                    }

                    myView.ShowPic         = false;
                    myView.QuestionNumText = nextQues.STT;

                    //if (isShownAnswerkey)
                    //{
                    //    try
                    //    {
                    //        myView.AnswerKey = _preQuestion.AnswerKey;
                    //    }
                    //    catch
                    //    {

                    //    }
                    //    _tmrCheckCauhoi.Stop();

                    //    Timer tmrDung = new Timer();
                    //    tmrDung.Enabled = true;
                    //    //
                    //    if (myView.AnswerKey.Length < 10)
                    //        tmrDung.Interval = 1000;
                    //    else
                    //        tmrDung.Interval = 2000;
                    //    tmrDung.Start();
                    //    tmrDung.Tick += delegate (object send, EventArgs ev)
                    //    {
                    //        //

                    //        V_Load(null, EventArgs.Empty);

                    //        //_tmrCheckCauhoi.Start();

                    //        myView.AnswerKey = "";
                    //        tmrDung.Stop();
                    //        tmrDung.Dispose();
                    //    };


                    //}
                    //else
                    //{
                    //    myView.AnswerKey = "";
                    //}

                    myView.RelocatingAndResizingControls("nohinh");
                }

                else

                {
                    try
                    {
                        myView.Pic = Image.FromFile(Application.StartupPath + nextQues.ImageRelativePath);
                    }

                    finally
                    {
                        if (nextQues is Compound)
                        {
                            Compound ques = nextQues as Compound;
                            myView.QuestionText        = ques.QuestionContent;
                            myView.QuestionMaybeAnswer = "A." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                        }
                        else if (nextQues is Multiple_Choice)
                        {
                            Multiple_Choice ques = nextQues as Multiple_Choice;
                            myView.QuestionText        = ques.QuestionContent;
                            myView.QuestionMaybeAnswer = "A." + ques.ChoiceA + "\nB." + ques.ChoiceB + "\nC." + ques.ChoiceC + "\nD." + ques.ChoiceD;
                            myView.ShowABCD            = true;
                        }
                        else if (nextQues is Fill_In)
                        {
                            Fill_In ques = nextQues as Fill_In;
                            myView.QuestionText = ques.QuestionContent.Replace("NNN", "...");
                            myView.ShowABCD     = false;
                        }
                        else
                        {
                            myView.QuestionText = nextQues.QuestionContent;
                            myView.ShowABCD     = false;
                        }

                        myView.ShowPic         = true;
                        myView.QuestionNumText = nextQues.STT;

                        myView.RelocatingAndResizingControls("hinh");
                    }
                }
            }
        }