private void CreateVariableInfos() { variableInfos.Clear(); ObservableCollection <VariableVM> variables = StudyUnit.Variables; foreach (VariableVM variable in variables) { VariableInfoVM variableInfo = new VariableInfoVM(variable.Variable); variableInfos.Add(variableInfo); ConceptVM concept = StudyUnit.FindConcept(variable.ConceptId); if (concept != null) { variableInfo.ConceptTitle = concept.Title; } QuestionVM question = StudyUnit.FindQuestion(variable.QuestionId); if (question != null) { variableInfo.QuestionTitle = question.Content; } UniverseVM universe = StudyUnit.FindUniverse(variable.UniverseId); if (universe != null) { variableInfo.UniverseTitle = universe.Title; } variableInfo.VariableType = Options.FindResponseTypeLabel(variable.ResponseTypeCode); } selectedVariableInfoItem = null; }
public void Init() { List <string> ids = controlConstructScheme.Sequence.ControlConstructIds; foreach (string id in ids) { QuestionConstruct questionConstructModel = controlConstructScheme.FindQuestionConstruct(id); if (questionConstructModel != null) { QuestionVM question = StudyUnit.FindQuestion(questionConstructModel.QuestionId); Debug.Assert(question != null, "Question not found id=" + questionConstructModel.QuestionId); QuestionConstructVM questionConstruct = new QuestionConstructVM(questionConstructModel, question); InitConstruct(questionConstruct); constructModels.Add(questionConstructModel); constructs.Add(questionConstruct); continue; } QuestionGroupConstruct questionGroupConstructModel = controlConstructScheme.FindQuestionGroupConstruct(id); if (questionGroupConstructModel != null) { QuestionGroupVM questionGroup = StudyUnit.FindQuestionGroup(questionGroupConstructModel.QuestionGroupId); QuestionGroupConstructVM questionGroupConstruct = new QuestionGroupConstructVM(questionGroupConstructModel, questionGroup); InitConstruct(questionGroupConstruct); constructModels.Add(questionGroupConstructModel); constructs.Add(questionGroupConstruct); continue; } Statement statementModel = controlConstructScheme.FindStatement(id); if (statementModel != null) { StatementVM statement = new StatementVM(statementModel); InitConstruct(statement); constructModels.Add(statementModel); constructs.Add(statement); continue; } IfThenElse ifThenElseModel = controlConstructScheme.FindIfThenElse(id); if (ifThenElseModel != null) { IfThenElseVM ifThenElse = new IfThenElseVM(ifThenElseModel); InitConstruct(ifThenElse); constructModels.Add(ifThenElseModel); constructs.Add(ifThenElse); } } List <QuestionConstructVM> questionConstructs = QuestionConstructs; foreach (ConstructVM construct in constructs) { if (construct is IfThenElseVM) { IfThenElseVM ifThenElse = (IfThenElseVM)construct; ifThenElse.ThenConstructs = ThenConstructs; } } modelSyncher = new ModelSyncher <ConstructVM, IConstruct>(this, constructs, constructModels); InitTitle(); }