/// <summary> /// Constructor. /// </summary> public UserQuestionDataUpdaterImplFactory( DatabaseContext dbContext, IQuestionStatusCalculator questionStatusCalculator, IQuestionGenerator questionGenerator, IGeneratedQuestionSeedGenerator seedGenerator, IRandomlySelectedQuestionSelector questionSelector, ITimeProvider timeProvider) { _generatedUserQuestionDataUpdater = new GeneratedUserQuestionDataUpdater ( questionStatusCalculator, questionGenerator, seedGenerator, timeProvider ); _randomlySelectedUserQuestionDataUpdater = new RandomlySelectedUserQuestionDataUpdater ( dbContext, questionStatusCalculator, questionSelector ); _defaultUserQuestionDataUpdater = new DefaultUserQuestionDataUpdater(); }
private void WireLogicInjector(ILogicInjector injector, IQuestionGenerator generator) { IQuestion question = generator.GetNextQuestion(); Answer[] answers = generator.GetNextAnswers(); injector.Wire(question, answers); }
/// <summary> /// Constructor. /// </summary> public QuestionUpdaterFactory( DatabaseContext dbContext, IQuestionGenerator questionGenerator, ITimeProvider timeProvider) { _dbContext = dbContext; _questionGenerator = questionGenerator; _timeProvider = timeProvider; }
/// <summary> /// Constructor. /// </summary> public GeneratedQuestionUpdater( DatabaseContext dbContext, GeneratedQuestionTemplate question, IModelErrorCollection errors, IQuestionGenerator questionGenerator, ITimeProvider timeProvider) : base(dbContext, question, errors) { _questionGenerator = questionGenerator; _timeProvider = timeProvider; }
public QuestionViewModel(IQuestionGenerator questionGenerator, IEventAggregator ea) { _questionGenerator = questionGenerator; _ea = ea; _ea.GetEvent <GameControlEvent>().Subscribe(HandleGameControlEvent); Icon = MaterialDesignIcons.PointingDown; CanStartGame = true; StartNewGameCommand = new DelegateCommand(ExecuteNewGame).ObservesCanExecute(() => CanStartGame); //CheckAnswerCommand = new DelegateCommand(ExecuteCheckAnswer).ObservesCanExecute(() => IsGameRunning); SubmitAnswerCommand = new DelegateCommand(ExecuteSubmitAnswer).ObservesCanExecute(() => IsGameRunning); NextQuestionCommand = new DelegateCommand(ExecuteNextQuestion).ObservesCanExecute(() => IsGameRunning); }
/// <summary> /// Constructor. /// </summary> public GeneratedUserQuestionDataUpdater( IQuestionStatusCalculator questionStatusCalculator, IQuestionGenerator questionGenerator, IGeneratedQuestionSeedGenerator seedGenerator, ITimeProvider timeProvider) { _questionStatusCalculator = questionStatusCalculator; _questionGenerator = questionGenerator; _seedGenerator = seedGenerator; _timeProvider = timeProvider; _regenerateJobs = new List <RegenerateQuestionJob>(); }
public Assessment(IAnswerPlacer answ_placer, IQuestionPlacer question_placer, IQuestionGenerator question_generator, ILogicInjector logic_injector, IAssessmentConfiguration game_conf, AssessmentAudioManager dialogues) { AnswerPlacer = answ_placer; QuestionGenerator = question_generator; QuestionPlacer = question_placer; LogicInjector = logic_injector; Configuration = game_conf; Dialogues = dialogues; }
/// <summary> /// Constructor. /// </summary> public UserQuestionDataUpdaterFactory( DatabaseContext dbContext, IQuestionStatusCalculator questionStatusCalculator, IQuestionGenerator questionGenerator, IGeneratedQuestionSeedGenerator seedGenerator, IRandomlySelectedQuestionSelector questionSelector, ITimeProvider timeProvider) { _dbContext = dbContext; _questionStatusCalculator = questionStatusCalculator; _questionGenerator = questionGenerator; _seedGenerator = seedGenerator; _questionSelector = questionSelector; _timeProvider = timeProvider; }
/// <summary> /// Constructor. /// </summary> public QuestionService( DatabaseContext dbContext, IQuestionValidator questionValidator, IQuestionLoaderFactory questionLoaderFactory, IQuestionUpdaterFactory questionUpdaterFactory, IQuestionDuplicatorFactory questionDuplicatorFactory, IQuestionGenerator questionGenerator, IJsonSerializer jsonSerializer) { _dbContext = dbContext; _questionValidator = questionValidator; _questionLoaderFactory = questionLoaderFactory; _questionUpdaterFactory = questionUpdaterFactory; _questionDuplicatorFactory = questionDuplicatorFactory; _questionGenerator = questionGenerator; _jsonSerializer = jsonSerializer; }
public DefaultAssessment(IAnswerPlacer answ_placer, IQuestionPlacer question_placer, IQuestionGenerator question_generator, ILogicInjector logic_injector, IAssessmentConfiguration game_conf, IGameContext game_context, IDialogueManager dialogues, Db.LocalizationDataId gameDescription) { AnswerPlacer = answ_placer; QuestionGenerator = question_generator; QuestionPlacer = question_placer; LogicInjector = logic_injector; Configuration = game_conf; GameContext = game_context; Dialogues = dialogues; GameDescription = gameDescription; }
/// <summary> /// Creates a new GeneratedUserQuestionDataUpdater. /// </summary> private GeneratedUserQuestionDataUpdater CreateUserQuestionDataUpdater( IQuestionStatusCalculator questionStatusCalculator = null, IQuestionGenerator questionGenerator = null, IGeneratedQuestionSeedGenerator seedGenerator = null) { var mockTimeProvider = new Mock <ITimeProvider>(); mockTimeProvider .Setup(m => m.UtcNow) .Returns(GenerationTime); return(new GeneratedUserQuestionDataUpdater ( questionStatusCalculator, questionGenerator, seedGenerator, mockTimeProvider.Object )); }
/// <summary> /// Creates a question service. /// </summary> private QuestionService CreateQuestionService( DatabaseContext dbContext, IQuestionValidator questionValidator = null, IQuestionLoaderFactory questionLoaderFactory = null, IQuestionUpdaterFactory questionUpdaterFactory = null, IQuestionDuplicatorFactory questionDuplicatorFactory = null, IQuestionGenerator questionGenerator = null, IJsonSerializer jsonSerializer = null) { return(new QuestionService ( dbContext, questionValidator, questionLoaderFactory, questionUpdaterFactory, questionDuplicatorFactory, questionGenerator, jsonSerializer )); }
/// <summary> /// Constructor. /// </summary> public QuestionService( DatabaseContext dbContext, QuestionLoaderFactory questionLoaderFactory, QuestionUpdaterFactory questionUpdaterFactory, QuestionGraderFactory questionGraderFactory, QuestionDuplicatorFactory questionDuplicatorFactory, IQuestionGenerator questionGenerator, IJsonSerializer jsonSerializer, IRandomNumberProvider randomNumberProvider, ITimeProvider timeProvider) { _dbContext = dbContext; _questionLoaderFactory = questionLoaderFactory; _questionUpdaterFactory = questionUpdaterFactory; _questionGraderFactory = questionGraderFactory; _questionDuplicatorFactory = questionDuplicatorFactory; _questionGenerator = questionGenerator; _jsonSerializer = jsonSerializer; _randomNumberProvider = randomNumberProvider; _timeProvider = timeProvider; }
private IActionResult GenerateDefaultWorksheet(BasicWorksheetGeneratorparameters parameters, IQuestionGenerator <IQuestion> generator) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(ControllerTryCatchBlocks.LoggingAllExceptions(logger, () => { var generators = Enumerable.Range(0, parameters.NumberOfQuestions) .Select(t => generator) .ToList(); BuildAndSendPdf(generators, parameters.EmailAddress.Address); return Ok(ModelState); }, new { parameters, generator })); }
/// <summary> /// Creates a question service. /// </summary> private QuestionService CreateQuestionService( DatabaseContext dbContext, QuestionLoaderFactory questionLoaderFactory = null, QuestionUpdaterFactory questionUpdaterFactory = null, QuestionGraderFactory questionGraderFactory = null, QuestionDuplicatorFactory questionDuplicatorFactory = null, IQuestionGenerator questionGenerator = null, IJsonSerializer jsonSerializer = null, IRandomNumberProvider randomNumberProvider = null, ITimeProvider timeProvider = null) { return new QuestionService ( dbContext, questionLoaderFactory, questionUpdaterFactory, questionGraderFactory, questionDuplicatorFactory, questionGenerator, jsonSerializer, randomNumberProvider, timeProvider ); }