Exemple #1
0
        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();
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #6
0
        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);
                }
            }
        }