public async Task <ActionReponseModel> Handle(UpdateFlashcardProgressC request, CancellationToken cancellationToken) { if (request.FlashcardProgress == FlashcardProgress.UnDefined) { return(new ActionReponseModel(false, "Undefined FlashcardProgress Enum")); } var flashcardProgressModel = await _flashcardProgressRepo.Get(request.FlashcardProgressId); if (flashcardProgressModel == null) { return(new ActionReponseModel(false, "Cannot find flashcard progress model")); } var calculatePracticeDateQ = new CalculatePracticeDateQ(flashcardProgressModel.CorrectInRow, request.FlashcardProgress); flashcardProgressModel.PracticeDate = await _mediator.Send(calculatePracticeDateQ); switch (request.FlashcardProgress) { case FlashcardProgress.DontKnow: flashcardProgressModel.CorrectInRow = flashcardProgressModel.CorrectInRow > 2 ? flashcardProgressModel.CorrectInRow - 2 : 0; break; case FlashcardProgress.Know: flashcardProgressModel.CorrectInRow++; break; } await _flashcardProgressRepo.Update(flashcardProgressModel); _mediator.Send(new IncrementStatsUserC(request.UserId)); return(new ActionReponseModel(true)); }
public async Task TestD() { var serviceProvider = new ServiceCollection() .AddMediatR(typeof(MediatREntryPoint).Assembly) .BuildServiceProvider(); var mediator = serviceProvider.GetService <IMediator>(); var calculatePracticeDateQ = new CalculatePracticeDateQ(-1, FlashcardProgress.Know); await Assert.ThrowsAsync <NotSupportedException>(async() => await mediator.Send(calculatePracticeDateQ)); }
public async Task TestC() { var serviceProvider = new ServiceCollection() .AddMediatR(typeof(MediatREntryPoint).Assembly) .BuildServiceProvider(); var mediator = serviceProvider.GetService <IMediator>(); var calculatePracticeDateQ = new CalculatePracticeDateQ(2, FlashcardProgress.Know); Assert.Equal(DateTime.Now.Date.AddDays(3), await mediator.Send(calculatePracticeDateQ)); }