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) };
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); }
/// <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); }
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); } }