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)); }
public void Edit_question(Multible multible) { this.answer = multible.answer; this.require_Ans = multible.require_Ans; }