public async Task <IReadOnlyCollection <string> > Handle(
            GetTestSessionTriggersRequest request,
            CancellationToken cancellationToken)
        {
            var queryParameters = new TestSessionQueryParameters(request.TestSessionId);
            var testSession     = await _unitOfWork.GetSingle(queryParameters);

            return(await _stateManager.GetAvailableTriggers(testSession));
        }
Example #2
0
        public Task <IQueryable <TestSessionDto> > Handle(GetAllTestSessionsRequest request, CancellationToken cancellationToken)
        {
            var queryParameters = new TestSessionQueryParameters
            {
                InstructorId = _executionContextService.GetCurrentUserId(),
            };

            return(Task.FromResult(_queryProvider.Queryable(queryParameters).Select(TestSessionDto.Selector)));
        }
Example #3
0
        public Task <bool> Check(StudentTestSession entity)
        {
            var queryParameters = new TestSessionQueryParameters(entity.TestSessionId)
            {
                State = TestSessionState.Started,
            };

            return(_unitOfWork.Any(queryParameters));
        }
        public Task <bool> Check(StudentTestSession entity)
        {
            var queryParameters = new TestSessionQueryParameters
            {
                Id           = entity.TestSessionId,
                InstructorId = _executionContextService.GetCurrentUserId(),
            };

            return(_unitOfWork.Any(queryParameters));
        }
Example #5
0
        public async Task <Unit> Handle(TestSessionStateTransitionRequest request, CancellationToken cancellationToken)
        {
            var queryParameters = new TestSessionQueryParameters(request.TestSessionId)
            {
                IsReadOnly = false,
            };
            var testSession = await _unitOfWork.GetSingle(queryParameters);

            await _stateManager.Process(testSession, request.Trigger);

            await _unitOfWork.Update(testSession);

            await _unitOfWork.Commit();

            return(Unit.Value);
        }
        public Task <bool> Check(StudentTestSession entity)
        {
            Guid id = _executionContextService.GetCurrentUserId();

            if (entity.StudentId == id)
            {
                return(Task.FromResult(true));
            }

            var queryParameters = new TestSessionQueryParameters
            {
                Id           = entity.TestSessionId,
                InstructorId = _executionContextService.GetCurrentUserId(),
            };

            return(_unitOfWork.Any(queryParameters));
        }
Example #7
0
        public async Task <Unit> Handle(UpdateTestSessionRequest request, CancellationToken cancellationToken)
        {
            var queryParameters = new TestSessionQueryParameters
            {
                Id           = request.TestSessionId,
                InstructorId = _executionContextService.GetCurrentUserId(),
                IsReadOnly   = false,
                IncludeStudentTestSessions        = true,
                IncludeAssessment                 = true,
                IncludeVariants                   = true,
                IncludeVariantsQuestions          = true,
                IncludeAnswersAssessmentQuestions = true,
            };
            TestSession testSession = await _unitOfWork.GetSingle(queryParameters);

            _mapper.Map(request.Data, testSession);
            await _testSessionService.Update(testSession);

            return(default);