示例#1
0
 public Matrix(TypeQuestion type, string[] title, int boundAnswer, int boundQustion) : base(type, title[0], boundAnswer)
 {
     this.bound2        = boundQustion;
     multiable_question = new Multible[boundQustion];
     for (int i = 0; i < boundQustion; i++)
     {
         multiable_question[i] = new Multible(type, title[i], boundAnswer);
     }
 }
        // Serialize Multible Questions
        static public string serialize_MultiChoice(Multible Q)
        {
            string Result = "";

            Result += Q.typeQuestion_properties + "~"
                      + Q.title_property + "~"
                      + Q.require_Ans.ToString() + "~"
                      + SERIALIZE_answer(Q.answer)
                      + SERIALIZE_multichoiceAnswers(Q.multiChoiceAnswercs) + "~"
                      + SERIALIZE_ListmultichoiceAnswer(Q.list_multiChoice_properties.ToList())
                      + SERIALIZE_multiable_Answer(Q.multiable_Answer) + "~"
                      + SERIALIZE_List_multiable_Answer(Q.List_List_multiable_Answer_properity.ToList());
            return(Result);
        }
        // Deserialize Multible Questions
        static public KeyValuePair <Multible, int> deserialize_MultibleChoice(string Content, int iter, string type)
        {
            string title = "", require = "";

            iter++;
            char i = Content[iter];

            while (i != '~')
            {
                title += i.ToString();
                iter++;
                i = Content[iter];
            }
            iter++;
            i = Content[iter];
            while (i != '~')
            {
                require += i.ToString();
                iter++;
                i = Content[iter];
            }
            iter++;
            KeyValuePair <string[], int> pair = DESERILIZE_answer(Content, iter);

            string[] answers = pair.Key;
            int      bound   = answers.Length;

            iter = pair.Value;
            KeyValuePair <MultiChoiceAnswercs, int> Pair = DESERIALIZE_multichoiceAnswer(Content, iter);

            iter = Pair.Value;
            if (Content[iter] == '~')
            {
                iter++;
            }
            i = Content[iter];
            string count_answers1 = "";

            while (i != '~')
            {
                count_answers1 += i.ToString();
                iter++;
                i = Content[iter];
            }
            LinkedList <MultiChoiceAnswercs> multiable_Answers1 = new LinkedList <MultiChoiceAnswercs>();

            for (int j = 0; j < Int32.Parse(count_answers1); j++)
            {
                iter++;
                Pair = DESERIALIZE_multichoiceAnswer(Content, iter);
                iter = Pair.Value;
                multiable_Answers1.AddLast(Pair.Key);
            }
            iter++;
            KeyValuePair <Multiable_answer, int> Pair1 = DESERIALIZE_Multiable_answer(Content, iter);

            iter = Pair1.Value;
            TypeQuestion _type = TypeQuestion.Multible;

            if (type.Contains("MultiChoice"))
            {
                _type = TypeQuestion.MultiChoice;
            }
            else if (type.Contains("DropDown"))
            {
                _type = TypeQuestion.DropDown;
            }
            Multible multible = new Multible(_type, title, bound);

            multible.answer = answers;
            multible.bound  = bound;
            multible.multiChoiceAnswercs_properties = Pair.Key;
            multible.list_multiChoice_properties    = multiable_Answers1;
            multible.multiable_Answer = Pair1.Key;
            // iter--;
            if (require.Contains("True"))
            {
                multible.require_Ans = true;
            }
            else
            {
                multible.require_Ans = false;
            }
            if (Content[iter].Equals('~'))
            {
                iter++;
            }
            i = Content[iter];
            string count_answers = "";

            while (i != '~')
            {
                count_answers += i.ToString();
                iter++;
                i = Content[iter];
            }
            LinkedList <Multiable_answer> multiable_Answers = new LinkedList <Multiable_answer>();

            for (int j = 0; j < Int32.Parse(count_answers); j++)
            {
                iter++;
                Pair1 = DESERIALIZE_Multiable_answer(Content, iter);
                iter  = Pair1.Value;
                multiable_Answers.AddLast(Pair1.Key);
            }
            multible.List_List_multiable_Answer_properity = multiable_Answers;
            return(new KeyValuePair <Multible, int>(multible, iter));
        }
示例#4
0
 public void Edit_question(Multible multible)
 {
     this.answer      = multible.answer;
     this.require_Ans = multible.require_Ans;
 }