コード例 #1
0
 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();
 }
コード例 #2
0
        public async Task Handle_GivenInvalidId_ShouldThrowEntityNotFoundException()
        {
            // Arrange
            var command = new DeleteQuestionCommand {
                Id = 100
            };

            // Act, Assert
            await Assert.ThrowsAsync <EntityNotFoundException>(() => _sut.Handle(command, CancellationToken.None));
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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());
            }
        }
コード例 #7
0
        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();
        }
コード例 #8
0
        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);
        }
コード例 #9
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();
        }
コード例 #10
0
        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!"));
        }
コード例 #11
0
 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.";
 }
コード例 #12
0
        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();
        }
コード例 #13
0
        public async Task <IActionResult> DeleteQuestion([FromForm] DeleteQuestionCommand command)
        {
            var result = await _mediator.Send(command);

            return(result);
        }