コード例 #1
0
 public static Entities.Quiz Map(Library.Models.Quiz quiz) => new Entities.Quiz
 {
     QuizId     = quiz.QuizId,
     UserId     = quiz.UserId,
     CategoryId = quiz.CategoryId,
     GameModeId = quiz.GameModeId,
     Score      = quiz.Score,
     //Time = quiz.Time,
     //Category = Map(quiz.Category),
     //GameMode = Map(quiz.GameMode),
     //User = Map(quiz.User)
 };
コード例 #2
0
        public async void Add_Quiz()
        {
            IQuizRepository sut1 = GetInMemoryQuizRepository();

            Library.Models.Quiz quiz1 = new Library.Models.Quiz()
            {
                Score      = 10,
                UserId     = 3,
                QuizId     = 1,
                CategoryId = 1,
                GameModeId = 1,
                Time       = DateTime.Now,
            };
            Library.Models.Quiz quiz2 = new Library.Models.Quiz()
            {
                Score      = 10,
                UserId     = 3,
                QuizId     = 2,
                CategoryId = 1,
                GameModeId = 1,
                Time       = DateTime.Now,
            };
            Library.Models.Quiz quiz4 = new Library.Models.Quiz()
            {
                Score      = 90,
                UserId     = 3,
                QuizId     = 2,
                CategoryId = 1,
                GameModeId = 1,
                Time       = DateTime.Now,
            };

            int x = await sut1.CreateQuiz(quiz1);

            int y = await sut1.CreateQuiz(quiz2);

            //Assert.True(sut1.GetQuizzes().ToList().Count() == 2);
            Library.Models.Quiz quiz3 = await sut1.GetQuizById(1);

            //Assert.Equal(10, quiz3.Score);
            bool something = await sut1.EditQuiz(quiz4);

            // Library.Models.Quiz testQuiz = await sut1.GetQuizById(2);
            //Assert.Equal(90, testQuiz.Score);
            var qzs  = sut1.GetQuizzes();
            var qzs1 = sut1.GetQuizzesByCategoryId(1);
            var qzs2 = sut1.GetQuizzesByGameModeId(1);
            var qzs3 = sut1.GetQuizzesByUserId(3);
            //Library.Models.Question q = await sut1.GetRandomQuestion(1);
        }
コード例 #3
0
        /// <summary>
        /// Add a quiz, including any associated objects. Updates log.
        /// </summary>
        /// <param name="quiz">The quiz</param>
        public async Task <int> CreateQuiz(Library.Models.Quiz quiz)
        {
            if (quiz is null)
            {
                throw new ArgumentNullException(nameof(quiz));
            }

            _logger.LogInformation($"Adding quiz");

            Entities.Quiz entity = Mapper.Map(quiz);
            entity.Time = DateTime.Now;
            _dbContext.Add(entity);
            await _dbContext.SaveChangesAsync();

            //update user completed quizzes
            Entities.User userEntity = _dbContext.User.Where(u => u.UserId == entity.UserId).First();
            if (userEntity != null)
            {
                userEntity.CompletedQuizzes += 1;
                await _dbContext.SaveChangesAsync();
            }

            return(quiz.QuizId);
        }
コード例 #4
0
        public async Task <bool> EditQuiz(Library.Models.Quiz quiz)
        {
            try
            {
                if (quiz == null)
                {
                    throw new ArgumentException();
                }

                Entities.Quiz existing = await _dbContext.Quiz.FindAsync(quiz.QuizId);

                Entities.Quiz newQuiz = Mapper.Map(quiz);

                _dbContext.Entry(existing).CurrentValues.SetValues(newQuiz);

                _dbContext.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString());
                return(false);
            }
        }