private void InitQuestions(JSONArray questionsArray) { foreach (JSONNode node in questionsArray) { string type = node["type"]; IQuestion question; switch (type) { case "input": question = new InputQuestion(node); Questions.Add(question); break; case "one": question = new OneQuestion(node); Questions.Add(question); break; case "multiple": question = new MultipleQuestion(node); Questions.Add(question); break; case "image-input": break; } } }
public static Prompter Input(this Prompter prompter, string name, FunctionOrColorString message, Action <InputQuestion> setupQuestion = null) { var question = new InputQuestion(name, message); setupQuestion?.Invoke(question); prompter.Add(question); return(prompter); }
public static Question CreateContractQuestion(this QuestionEntity entity) { Question question; switch (entity) { case InputQuestionEntity inputEntity: question = new InputQuestion { CorrectAnswer = inputEntity.CorrectAnswer }; break; case SelectQuestionEntity select: question = new SelectQuestion { OneCorrectAnswer = select.OneCorrectAnswer, Options = select.Options.Select(o => new Option { IsCorrect = o.IsCorrect, Title = o.Title }).ToArray() }; break; case GeneralQuestionEntity _: question = new GeneralQuestion(); break; default: throw new InvalidOperationException($"Can't create contract model from '{entity.GetType().Name}' entity."); } question.OrderIndex = entity.OrderIndex; question.Title = entity.Title; question.Description = entity.Description; question.MaxAnswerSeconds = entity.MaxAnswerSeconds; return(question); }
private static Question Convert(QuestionEntity entity) { Question question; switch (entity) { case GeneralQuestionEntity generalQuestionEntity: question = new GeneralQuestion(); break; case InputQuestionEntity inputQuestionEntity: question = new InputQuestion(); break; case SelectQuestionEntity selectQuestionEntity: question = new SelectQuestion { OneCorrectAnswer = selectQuestionEntity.OneCorrectAnswer, Options = selectQuestionEntity.Options .Select(option => new Option { Id = option.Id, Title = option.Title }) .ToArray() }; break; default: throw new InvalidOperationException($"Can't cast '{entity.GetType().FullName}'."); } question.Title = entity.Title; question.Description = entity.Description; question.OrderIndex = entity.OrderIndex; return(question); }
protected void Page_Init(object sender, EventArgs e) { if (!Page.IsPostBack) { init(); } for (int i = 0; i < nrintrebari; i++) { if (questionlist[i].Type.Equals("Tip Grila")) { questions[i] = new ChoiceQuestion(chosenkeylist[i], questionlist[i], choices[i]); } else if (questionlist[i].Type.Equals("Standard")) { questions[i] = new InputQuestion(chosenkeylist[i], questionlist[i], false); } else if (questionlist[i].Type.Equals("Program")) { questions[i] = new InputQuestion(chosenkeylist[i], questionlist[i], true); } questions[i].display(tot); } }
public void PreviewQuestion(IQuestion question) { _Question = (InputQuestion)question; questionText.text = _Question.Question; InitChecker(); }
/// <summary> /// Parse Xml document and generate questions /// </summary> private void parseXmlDocument() { XmlDocument doc = LoadDocumentWithSchemaValidation(); if (doc == null) { return; } XmlNodeList quiz_list = doc.SelectNodes("/quiz/question"); foreach (XmlNode question_node in quiz_list) { TealUnity.Question question; string type = question_node.Attributes["type"].Value; string title = question_node["title"].InnerText; string text = question_node["text"].InnerText; switch (type) { case "input-number": { question = new InputQuestion <float>(title, text); float answer = 0; try { answer = float.Parse(question_node["answer"].InnerText); } catch (FormatException e) { Debug.LogError(e.Message); } ((InputQuestion <float>)question).setAnswer(answer); break; } case "input-text": { question = new InputQuestion <string>(title, text); string answer = question_node["answer"].InnerText; ((InputQuestion <string>)question).setAnswer(answer); break; } case "multiple-choice": { question = new MCQuestion(title, text); XmlNodeList answerchoice_list = question_node.SelectNodes("answerchoice"); int i = 0; foreach (XmlNode anserchoice_node in answerchoice_list) { bool correct = bool.Parse(anserchoice_node.Attributes["correct"].Value); string answer_text = anserchoice_node["text"].InnerText; AnswerChoice answerchoice = new AnswerChoice(answer_text, correct); if (anserchoice_node["image"] != null) { answerchoice.setImagePath(anserchoice_node["image"].InnerText); } ((MCQuestion)question).setAnswerChoise(answerchoice, i); i++; } break; } default: continue; } if (question_node["image"] != null) { question.setImagePath(question_node["image"].InnerText); } questions.Add(question); } }