private void LoadPreviousQuestion() { DeleteQuestionCommand.RaiseCanExecuteChanged(); if (SelectedQuestion != 1) { SelectedQuestion--; SelectedPicture = Pictures[SelectedQuestion - 1]; QuestionText = QuestionsAnswers[SelectedQuestion - 1].Question; Alternative1Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeOne; Alternative2Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeTwo; Alternative3Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeThree; var CA = QuestionsAnswers[SelectedQuestion - 1].Answer; if (CA == Alternative1Text) { Alt1Correct = true; Alt2Correct = false; Alt3Correct = false; } else if (CA == Alternative2Text) { Alt2Correct = true; Alt1Correct = false; Alt3Correct = false; } else { Alt3Correct = true; Alt1Correct = false; Alt2Correct = false; } } DeleteQuestionCommand.RaiseCanExecuteChanged(); }
public async Task Handle_GivenInvalidId_ShouldThrowEntityNotFoundException() { // Arrange var command = new DeleteQuestionCommand { Id = 100 }; // Act, Assert await Assert.ThrowsAsync <EntityNotFoundException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task <ActionResult> DeleteQuestionAsync([FromQuery(Name = "id")] IEnumerable <long> ids, CancellationToken token) { foreach (var id in ids) { var command = new DeleteQuestionCommand(id); await _commandBus.Value.DispatchAsync(command, token); } return(Ok()); }
private CommandResponse ExecuteDeleteQuestion(DeleteQuestionCommand command) { var existingQuestion = Questions.FirstOrDefault(q => q.Id == command.QuestionId); if (existingQuestion == null) { return(CommandResponse.Failure($"Question {command.QuestionId} doesn't exist.")); } Questions.Remove(existingQuestion); return(CommandResponse.Success()); }
public async Task <IActionResult> DeleteQuestion(int quizId, int questionId) { Expect(quizId, (id) => id > 0); Expect(questionId, (id) => id > 0); var command = new DeleteQuestionCommand() { QuizId = quizId, QuestionId = questionId }; await Mediator.Send(command); return(NoContent()); }
public async Task <IActionResult> DeleteQuestionAsync([FromRoute] DeleteQuestionRequest model, CancellationToken token) { try { var command = new DeleteQuestionCommand(model.Id, _userManager.GetLongUserId(User)); await _commandBus.DispatchAsync(command, token); return(Ok()); } catch (ArgumentException) { return(BadRequest()); } }
public async Task Handle_ValidChapterData_ChapterShouldNotFound() { //Arrange var quizId = Guid.NewGuid(); var command = new DeleteQuestionCommand(quizId); _questionRepositoryMock.Setup(x => x.AnyAsync(It.IsAny <ISpecification <Question> >())) .ReturnsAsync(false); //Act //Assert await Assert.ThrowsAsync <InvalidOperationException>(() => _questionCommandHandler.Handle(command, CancellationToken.None)); _autoMocker.VerifyAll(); }
public async Task Handle_GivenValidRequest_ShouldDeleteQuestion() { // Arrange var command = new DeleteQuestionCommand { Id = 1 }; // Act await _sut.Handle(command, CancellationToken.None); var result = await _context.Questions.FindAsync(command.Id); // Assert Assert.False(result.IsActive); Assert.True(DateTime.Compare(new DateTime(2020, 1, 1), result.UpdatedAt.Value) < 0); }
public async Task Handle_ValidChapterData_ShouldSuccess() { //Arrange var quizId = Guid.NewGuid(); var command = new DeleteQuestionCommand(quizId); _questionRepositoryMock.Setup(x => x.AnyAsync(It.IsAny <ISpecification <Question> >())) .ReturnsAsync(true); _questionRepositoryMock.Setup(x => x.DeleteAsync(It.IsAny <ISpecification <Question> >())) .ReturnsAsync(true); var result = await _questionCommandHandler.Handle(command, CancellationToken.None); //Assert Assert.True(result); _autoMocker.VerifyAll(); }
public async Task <ApiResultCode> DeleteQuestionAsync(DeleteQuestionCommand datamodel) { int NooofQuestion = 0; var tblquestion = _unit.Context.Tblquestion.Where(p => p.Id == datamodel.Id).FirstOrDefault(); var count = await _unit.Context.Tblquestion.Where(t => t.CategoryId == tblquestion.CategoryId && t.Status == 1).CountAsync(); if (_unit.Context.Tbltest.Where(t => t.CategoryId == tblquestion.CategoryId).Any()) { NooofQuestion = _unit.Context.Tbltest.Where(t => t.CategoryId == tblquestion.CategoryId).Max(t => t.NoOfQuestion).Value; } if (NooofQuestion >= count) { return(new ApiResultCode(ApiResultType.Error, messageText: "Requested qestion can not delete!")); } var query = _unit.Context.Tblquestionoptions.Where(q => q.QuestionId == datamodel.Id).ToList(); tblquestion.Status = 0; tblquestion.LastUpdatedBy = datamodel.CurrentUserId; tblquestion.LastUpdateDate = DateTime.Now; _unit.Context.Tblquestion.Attach(tblquestion); _unit.Context.Entry(tblquestion).Property(t => t.Status).IsModified = true; _unit.Context.Entry(tblquestion).Property(t => t.LastUpdatedBy).IsModified = true; _unit.Context.Entry(tblquestion).Property(t => t.LastUpdateDate).IsModified = true; foreach (var item in query) { item.Status = 0; item.LastUpdateDate = DateTime.Now; item.LastUpdatedBy = datamodel.CurrentUserId; _ = _unit.GetRepository <Tblquestionoptions>().Update(item); } var result = await _unit.SaveChangesAsync(); if (result.ResultType == ApiResultType.Success) { return(new ApiResultCode(ApiResultType.Success, messageText: "Question Deleted!")); } return(new ApiResultCode(ApiResultType.Error, messageText: "Can not Delete!")); }
private void initializeApplication() { Pictures = new List <BitmapImage>(); Pictures.Add(new BitmapImage()); QuestionsAnswers = new List <QuestionData>(); QuestionsAnswers.Add(new QuestionData()); SelectedPicture = null; BackgroundPicture = null; SelectedQuestion = 1; QuestionText = ""; Alternative1Text = ""; Alternative2Text = ""; Alternative3Text = ""; Alt1Correct = false; Alt2Correct = false; Alt3Correct = false; DeleteQuestionCommand.RaiseCanExecuteChanged(); HeaderText = "Här kan du skriva vilken rubrik du vill ha."; }
private void LoadNextQuestion() { if (SelectedPicture == null || SelectedPicture.UriSource == null) { MessageBox.Show("Du måste välja en bild till frågan!"); return; } if (string.IsNullOrEmpty(QuestionText)) { MessageBox.Show("Du måste skriva en fråga!"); return; } if (string.IsNullOrEmpty(Alternative1Text) || string.IsNullOrEmpty(Alternative2Text) || string.IsNullOrEmpty(Alternative3Text)) { MessageBox.Show("Du måste skriva alla 3 svars alternativ!"); return; } if (Alt1Correct == false && Alt2Correct == false && Alt3Correct == false) { MessageBox.Show("Du måste välja vad som är rätt svar!"); return; } SelectedQuestion++; if (QuestionsAnswers.Count < SelectedQuestion) { QuestionsAnswers.Add(new QuestionData()); SelectedPicture = new BitmapImage(); Pictures.Add(new BitmapImage()); QuestionText = ""; Alternative1Text = ""; Alternative2Text = ""; Alternative3Text = ""; Alt1Correct = false; Alt2Correct = false; Alt3Correct = false; } else { SelectedPicture = Pictures[SelectedQuestion - 1]; QuestionText = QuestionsAnswers[SelectedQuestion - 1].Question; Alternative1Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeOne; Alternative2Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeTwo; Alternative3Text = QuestionsAnswers[SelectedQuestion - 1].AlternativeThree; var CA = QuestionsAnswers[SelectedQuestion - 1].Answer; if (CA == Alternative1Text) { Alt1Correct = true; Alt2Correct = false; Alt3Correct = false; } else if (CA == Alternative2Text) { Alt2Correct = true; Alt1Correct = false; Alt3Correct = false; } else if (CA == Alternative3Text) { Alt3Correct = true; Alt1Correct = false; Alt2Correct = false; } else { Alt1Correct = false; Alt2Correct = false; Alt3Correct = false; } } DeleteQuestionCommand.RaiseCanExecuteChanged(); }
public async Task <IActionResult> DeleteQuestion([FromForm] DeleteQuestionCommand command) { var result = await _mediator.Send(command); return(result); }