private async Task <Guid> CreateTestFlowAsync() { string testName = SharedConsoleFlows.AskForString("What is the name of the test?"); byte numberOfVersions = SharedConsoleFlows.AskForByte("How many versions are there?"); byte minimumGrade = SharedConsoleFlows.AskForByte("What is the minimum grade?"); byte standardizationFactor = SharedConsoleFlows.AskForByte("What is the standardization factor?"); var createTestRequest = new CreateTestRequest() { Name = testName, MinimumGrade = minimumGrade, StandardizationFactor = standardizationFactor, NumberOfVersions = numberOfVersions }; CreateTestResult createTestResponse = await _testController.CreateTestAsync(createTestRequest); Guid testId = createTestResponse.TestId; if (createTestResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(createTestResponse.ValidationMessages); testId = await CreateTestFlowAsync(); } return(testId); }
private async Task CreateClassFromFile(IFileInfoWrapper[] files) { byte chosenIndex = SharedConsoleFlows.AskForByte("What file should be used?"); IFileInfoWrapper chosenFile = await GetFile(files, chosenIndex); var request = new CreateMagisterClassRequest { MagisterFileLocation = chosenFile.FullName }; CreateMagisterClassResult createMagisterClassResponse = await _classController.CreateMagisterClassAsync(request); if (createMagisterClassResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(createMagisterClassResponse.ValidationMessages); await StartAsync(); } }
private async Task AddAssignmentFlowAsync(Guid testId, int assignmentIndex) { byte numberOfQuestions = SharedConsoleFlows.AskForByte($"How many questions are there for assignment: {assignmentIndex + 1}?"); var addAssignmentRequest = new AddAssignmentRequest { TestId = testId, NumberOfQuestions = numberOfQuestions }; AddAssignmentResult addAssignmentResult = await _testController.AddAssignmentAsync(addAssignmentRequest); if (addAssignmentResult.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(addAssignmentResult.ValidationMessages); await AddAssignmentFlowAsync(testId, assignmentIndex); } }
private async Task <Guid> CreateClassFlowAsync() { Console.WriteLine("What is the name of the class?"); string className = Console.ReadLine(); var createClassRequest = new CreateClassRequest() { Name = className }; CreateClassResult createClassResponse = await _classController.CreateClassAsync(createClassRequest); Guid classId = createClassResponse.ClassId; if (createClassResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(createClassResponse.ValidationMessages); classId = await CreateClassFlowAsync(); } return(classId); }
private async Task AddStudentFlowAsync(Guid classId) { string firstName = SharedConsoleFlows.AskForString("What is the first name of the student?"); string infix = SharedConsoleFlows.AskForOptionalString("What is the infix of the student?"); string lastName = SharedConsoleFlows.AskForString("What is the last name of the student?"); var model = new AddStudentRequest { ClassId = classId, FirstName = firstName, Infix = infix, LastName = lastName }; AddStudentResult addStudentResponse = await _classController.AddStudentAsync(model); if (addStudentResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(addStudentResponse.ValidationMessages); await AddStudentFlowAsync(classId); } }
private async Task AddBonusAssignmentFlowAsync(Guid testId) { bool isBonusAssignmentNeeded = SharedConsoleFlows.AskForBool($"Is there a bonus question?"); if (isBonusAssignmentNeeded) { var addAssignmentRequest = new AddAssignmentRequest { TestId = testId, NumberOfQuestions = 1 }; AddAssignmentResult addAssignmentResult = await _testController.AddAssignmentAsync(addAssignmentRequest); if (addAssignmentResult.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(addAssignmentResult.ValidationMessages); } } }