public IActionResult Create() { var createTestTemplatesViewModel = new CreateTestTemplatesViewModel(); var testTypes = new List <SelectListItem>(); foreach (var testType in _testTypesRepository.GetAllAsync().Result) { testTypes.Add(new SelectListItem { Value = testType.Id.ToString(), Text = testType.Type }); } createTestTemplatesViewModel.TestTypes = testTypes; return(View(createTestTemplatesViewModel)); }
public async Task InsertTestTemplateSampleData() { const int exerciseCount = 2; var teachers = await _usersRepository.GetAllByRoleName(RoleConstants.TeacherRoleName); teachers.Sort((x, emp2) => x.FirstName.CompareTo(emp2.FirstName)); var testTypes = await _testTypesRepository.GetAllAsync(); var multipleChoiceTestType = testTypes[0]; // TODO: obtain multiple choice test type in a safe and extensible way const string nameFormat = "Test{0}"; const string descriptionFormat = "Description{0}"; for (var i = 0; i < teachers.Count; i++) { for (var x = 0; x < i; x++) { var name = string.Format(nameFormat, x); var description = string.Format(descriptionFormat, x); var testInstace = Test.Create(name, description, teachers[i].Id, multipleChoiceTestType.Id); await _testsRepository.InsertAsync(testInstace); const string exerciseDescriptionFormat = "{1} + {0} = ?"; for (var j = 0; j < exerciseCount; j++) { var exerciseDescription = string.Format(exerciseDescriptionFormat, j, x); var exerciseEntity = Exercise.Create(exerciseDescription, testInstace.Id); var insertedExercise = await _exercisesRepository.InsertAsync(exerciseEntity); const string answerDescriptionFormat = "Answer is {0}"; const int answerCount = 2; for (var k = 0; k < answerCount; k++) { const int integerPadding = 10; var answerDescription = string.Format(answerDescriptionFormat, integerPadding + k + j + x); var answerEntiry = Answer.Create(answerDescription, false, insertedExercise.Id); await _answersRepository.InsertAsync(answerEntiry); } } } } }