public void Init() { Question = new ScaleQuestion() { Questionnaire = new Questionnaire() { Id = Guid.Empty.ToString() } }; MockRepo = new Mock <IQuestionRepository>(); MockRepo.Setup(elem => elem.InsertAsync(Question)).Returns(Task.CompletedTask); ScalaVM = new ScaleQuestionViewModel(Question, MockRepo.Object); }
public void LoadFromDatabase(LoggingManager log) { var qDataList = log.GetQuestionSetContent(Name); foreach (var questionData in qDataList) { Question q; switch ((Enums.Question)questionData.QuestionType) { case Enums.Question.Info: q = new InfoScreen(questionData); break; case Enums.Question.Text: q = new TextQuestion(questionData); break; case Enums.Question.Choice: q = new ChoiceQuestion(questionData); break; case Enums.Question.Scale: q = new ScaleQuestion(questionData); break; case Enums.Question.Ladder: q = new LadderQuestion(questionData); break; case Enums.Question.Stimuli: q = new VisualStimuli(questionData); break; default: throw new ArgumentOutOfRangeException(); } q.Jumps = log.GetJumps(questionData); Questions.Add(q); } }
public ScaleQuestionViewModel(ScaleQuestion question, IQuestionRepository questionRepository) : base(question) { _question = question; _questionRepository = questionRepository; }
public void AddScaleQuestion(string questionText, int scale) { var scaleQuestion = new ScaleQuestion(questionText, scale); _surveyQuestions.Add(scaleQuestion); }
public void Visit(ScaleQuestion q) { _dynamicFieldsWithScrollbar.gameObject.SetActive(false); var scaleContent = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Questionnaire/Content/ScaleContent"); _customContent = scaleContent.transform; MenuUtils.PlaceElement(scaleContent, _questionContent); //Load image var image = _customContent.Find("Image"); var imageSource = "Textures/questionline"; switch (q.Scale) { case Scale.Pleasure: imageSource = "Textures/SAM-V-5"; break; case Scale.Arousal: imageSource = "Textures/SAM-A-5"; break; case Scale.Dominance: imageSource = "Textures/SAM-D-5"; break; case Scale.Custom: imageSource = q.Image; break; } image.GetComponent <Image>().overrideSprite = Resources.Load <Sprite>(imageSource); if (!q.LabelledToggles) { var labels = scaleContent.transform.Find("Buttons").gameObject.GetComponentsInChildren <Text>(); foreach (var label in labels) { label.gameObject.SetActive(false); } } var qmb = _questionPlaceholder.GetComponent <QuestionMenuButtons>(); //Set label _customContent.Find("extremesText").Find("extreme1").gameObject.GetComponent <Text>().text = q.LeftLabel; _customContent.Find("extremesText").Find("extreme2").gameObject.GetComponent <Text>().text = q.RightLabel; var buttons = _customContent.Find("Buttons"); for (var i = 0; i < q.NColumns; i++) { var btn = buttons.Find("ToggleButtons" + i).GetComponent <Toggle>(); var iLocal = i; btn.onValueChanged.AddListener(isOn => { qmb.SetAnswerInt(iLocal, isOn?1:0); }); btn.isOn = _oldAnswers != null && _oldAnswers.ContainsKey(i); } }