public void BuildCondition(ConditionModelTemplate template, ConditionModel model, StudyModel studyModel) { model.Method = template.Method; switch (template.Position) { case ConditionPosition.Left: model.PrimaryTaskContainer = PrimaryTaskContainerLeft; break; case ConditionPosition.Right: model.PrimaryTaskContainer = PrimaryTaskContainerRight; break; case ConditionPosition.Center: model.PrimaryTaskContainer = PrimaryTaskContainerCenter; break; } switch (template.PrimaryTask) { case PrimaryTaskType.High: model.PrimaryTask = PrimaryTaskHigh; model.ConditionLocation = "count down with 17."; break; case PrimaryTaskType.Mid: model.PrimaryTask = PrimaryTaskMid; model.ConditionLocation = "icon search."; break; case PrimaryTaskType.Low: model.PrimaryTask = PrimaryTaskLow; model.ConditionLocation = "count down with 2."; break; } switch (template.SecondaryTask) { case SecondaryTaskType.Email: model.SecondayTask = SecondaryTaskModelEmail; model.AllQuestionIndices = QuestionsEmailAll; break; case SecondaryTaskType.Break: model.SecondayTask = SecondaryTaskModelBreak; model.AllQuestionIndices = QuestionsBreakAll; break; case SecondaryTaskType.Ideation: model.SecondayTask = SecondaryTaskModelIdeation; model.AllQuestionIndices = QuestionsIdeationAll; break; } }
public static List <ConditionModelTemplate> GetConditionsForParticipant(int participantID) { List <ConditionModelTemplate> models = new List <ConditionModelTemplate>(); var primaryTasks = PrimaryTasks[participantID % PrimaryTasks.Length]; var secondaryTasks = SecondaryTasks[participantID % PrimaryTasks.Length]; var methodFirst = participantID % 2 == 0 ? MethodType.Manual : MethodType.Automatic; var methodSecond = methodFirst == MethodType.Automatic ? MethodType.Manual : MethodType.Automatic; var currentPosition = participantID % 2 == 0 ? ConditionPosition.Left : ConditionPosition.Right; for (int i = 0; i < 3; i++) { var condition = new ConditionModelTemplate { PrimaryTask = primaryTasks[i], SecondaryTask = secondaryTasks[i], Method = methodFirst, Position = currentPosition }; models.Add(condition); currentPosition = currentPosition == ConditionPosition.Left ? ConditionPosition.Right : ConditionPosition.Left; } for (int i = 0; i < 3; i++) { var condition = new ConditionModelTemplate { PrimaryTask = primaryTasks[i], SecondaryTask = secondaryTasks[i], Method = methodSecond, Position = currentPosition }; models.Add(condition); currentPosition = currentPosition == ConditionPosition.Left ? ConditionPosition.Right : ConditionPosition.Left; } return(models); }