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)); }
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))); }
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)); }
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)); }
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);