private static void Ensure(Domain.Entities.Quiz quiz, int quizId) { if (quiz == null) { throw new EntityNotFoundException("Quiz", quizId); } }
private void Ensure(Domain.Entities.Quiz quiz, int quizId) { if (quiz == null) { throw new EntityNotFoundException($"Quiz {quizId} was not found."); } }
public async Task <Unit> Handle(DeleteQuizCommand request, CancellationToken cancellationToken) { Domain.Entities.Quiz quiz = await dbContext.FindQuizAsync(request.QuizId, cancellationToken); if (quiz == null) { throw new EntityNotFoundException($"Quiz {request.QuizId} was not found."); } dbContext.Quizes.Remove(quiz); await dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(DeleteQuestionCommand request, CancellationToken cancellationToken) { Domain.Entities.Quiz quiz = await _dbContext.FindQuizAsync(request.QuizId, cancellationToken); if (quiz == null) { throw new EntityNotFoundException("No Quiz with Question", request.QuestionId); } quiz.RemoveQuestion(request.QuestionId); await _dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <CreateQuizCommandResponse> Handle(CreateQuizCommand request, CancellationToken cancellationToken) { var quiz = new Domain.Entities.Quiz(request.Name, request.Description); await _dbContext.Quizes.AddAsync(quiz, cancellationToken); await _dbContext.SaveChangesAsync(cancellationToken); var model = new CreateQuizCommandResponse() { Id = quiz.Id, Name = quiz.Name, Description = quiz.Description }; return(model); }
public override Task <QuizCreatedResponse> CreateGame(QuizCreateRequest request, ServerCallContext context) { var quiz = new Domain.Entities.Quiz() { Title = request.Quiz.Title, Description = request.Quiz.Description, ImageUrl = request.Quiz.ImageUrl, Questions = request.Quiz.Questions.Select(x => new Question() { Timeout = x.Timeout, Title = x.Title, Answer = x.Answers.Select(answer => new Answer() { Description = answer.Description, IsCorrect = answer.IsCorrect }).ToList(), }).ToList() }; var random = new Random(); ulong id = (ulong)random.Next(21000000, 25000000); var game = new QuizGame() { Quiz = quiz, Id = id, Started = DateTime.UtcNow, Users = new List <Player>() }; var result = _manager.CreateNew(game); var response = new QuizCreatedResponse() { Quiz = request.Quiz, Id = result.Id }; return(Task.FromResult(response)); }
public QuizTests() { target = new Domain.Entities.Quiz(id, name, description); }