public async Task <IActionResult> Post([FromForm] Quiz_DTO quiz_DTO) { var confirmedModel = new Quiz(); //te returnen DTO try { var obj = new Difficulty_DTO(); quiz_DTO.Difficulty = QuizMapper.ConvertDifficultyTo_DTO(await quizRepo.GetDifficultyForIdAsync(quiz_DTO.DifficultyId), ref obj); //1. Validatie if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //2.Entity (model) via de mapper ophalen var model = new Quiz() { }; QuizMapper.ConvertQuizTo_Entity(quiz_DTO, ref model); //3. Entity (model) toevoegen via het repo confirmedModel = await quizRepo.AddQuiz(model); //4. Een bevestiging v foutieve actie teruggeven if (confirmedModel == null) { return(NotFound(model.Subject + " did not get saved. ")); } } catch (Exception exc) { return(BadRequest("Add quiz failed")); } //5. DTO terugsturen als bevestiging return(CreatedAtAction("Get", new { id = confirmedModel.Id }, quiz_DTO)); }
public ActionResult SelectedQuiz(int id) { Quiz quiz = _quizModel.QuizzesContainer.Quizzes[id]; ViewBag.Message = quiz.Name; Session.Add("Quiz", quiz); var quizViewModel = QuizMapper.Map(quiz); return(View(quizViewModel)); }
public async Task <apiModels.Quiz> GetQuizById(int id) { var quiz = await _dbContext.Quiz.Include(i => i.Question).ThenInclude(ti => ti.Answer).FirstOrDefaultAsync(w => w.Id == id); if (quiz == null) { throw new InvalidOperationException($"No Quiz Exits with Id {id}"); } return(QuizMapper.ToApiModel(quiz)); }
public IEnumerable <QuizDTO> GetAllQuizesFromOneUser(string emailUser) { var quizen = _teamQuizRondeUnitOfWork.QuizRepository.GetWhere(x => x.EmailCreator == emailUser); var quizenDTOs = new List <QuizDTO>(); foreach (Quiz quiz in quizen) { quizenDTOs.Add(QuizMapper.MapQuizModelToQuizDTO(quiz)); } return(quizenDTOs); }
public IEnumerable <QuizDTO> GetAllQuizen() { var quizen = _teamQuizRondeUnitOfWork.QuizRepository.GetAll(); var quizenDTOs = new List <QuizDTO>(); foreach (Quiz quiz in quizen) { quizenDTOs.Add(QuizMapper.MapQuizModelToQuizDTO(quiz)); } return(quizenDTOs); }
public async Task <IEnumerable <apiModels.QuizResponse> > GetQuizResponseByQuizId(int quizId) { var res = (from response in _dbContext.QuizResponse join quiz in _dbContext.Quiz on response.QuizId equals quiz.Id join question in _dbContext.Question on response.QuestionId equals question.Id join answer in _dbContext.Answer on response.AnswerId equals answer.Id where response.QuizId == quizId select new { Quiz = quiz, Question = question, GivenAnswer = answer }).ToList(); return(res.Select(item => new apiModels.QuizResponse { Quiz = QuizMapper.ToApiModel(item.Quiz), Question = QuizMapper.ToApiModel(item.Question), GivenAnswer = QuizMapper.ToApiModel(item.GivenAnswer), AnswerPoint = item.Question.CorrectAnswerId.GetValueOrDefault(0) == item.GivenAnswer.Id ? 1 : 0 }).ToList()); }
public async Task <ActionResult <List <Difficulty_DTO> > > Get() { var model = await quizRepo.GetAllDifficultiesAsync(); List <Difficulty_DTO> model_DTO = new List <Difficulty_DTO>(); foreach (Difficulty difficulty in model) { var result = new Difficulty_DTO(); model_DTO.Add(QuizMapper.ConvertDifficultyTo_DTO(difficulty, ref result)); } return(Ok(model_DTO)); }
public async Task <ActionResult <Quiz_DTO> > Get(Guid id) { var result = await quizRepo.GetQuizForIdAsync(id); if (result == null) { return(BadRequest("Quiz not found")); } var obj = new Quiz_DTO(); var model = QuizMapper.ConvertQuizTo_DTO(result, ref obj, quizRepo); return(Ok(model)); }
public async Task <ActionResult <List <Quiz_DTO> > > Get() { var model = await quizRepo.GetAllQuizzesAsync(); List <Quiz_DTO> model_DTO = new List <Quiz_DTO>(); foreach (Quiz quiz in model) { var result = new Quiz_DTO(); model_DTO.Add(QuizMapper.ConvertQuizTo_DTO(quiz, ref result, quizRepo)); } return(Ok(model_DTO)); }
public Response <QuizDTO> AddQuiz(QuizDTO quizDTO) { try { QuizValidator validator = new QuizValidator(); ValidationResult results = validator.Validate(quizDTO); if (results.IsValid) { var quiz = QuizMapper.MapQuizDTOToQuizModel(quizDTO); var quizEntity = _teamQuizRondeUnitOfWork.QuizRepository.Add(quiz); _teamQuizRondeUnitOfWork.Commmit(); var quizEntityDTO = QuizMapper.MapQuizModelToQuizDTO(quizEntity); var response = new Response <QuizDTO> { DTO = quizEntityDTO }; return(response); } else { return(new Response <QuizDTO>() { Errors = results.Errors.Select(x => new Error() { Type = ErrorType.ValidationError, Message = x.ErrorMessage }).ToList() }); } } catch (Exception ex) { return(new Response <QuizDTO>() { Errors = new List <Error>() { new Error() { Type = ErrorType.Exception, Message = ex.Message } } }); } }
public void GetAllQuizsCorrect() { var quizs = new List <Quiz>(); quizs.Add(new Quiz { Id = 1, Naam = "Quiz 1" }); IQueryable <Quiz> queryableQuizs = quizs.AsQueryable(); var quizsDTO = new List <QuizDTO>(); foreach (var quiz in quizs) { quizsDTO.Add(QuizMapper.MapQuizModelToQuizDTO(quiz)); } //Arange var unitOfWork = new Mock <ITeamQuizRondeUnitOfWork>(); unitOfWork.Setup(x => x.QuizRepository.GetAll()).Returns(queryableQuizs); var quizService = new QuizService(unitOfWork.Object); //Act var allQuizs = quizService.GetAllQuizen(); //Assert Assert.That(allQuizs.Count(), Is.EqualTo(quizsDTO.Count())); for (int i = 0; i < allQuizs.Count(); i++) { Assert.That(allQuizs.ToArray()[i].Id, Is.EqualTo(quizsDTO.ToArray()[i].Id)); Assert.That(allQuizs.ToArray()[i].Naam, Is.EqualTo(quizsDTO.ToArray()[i].Naam)); } }
public async Task <IActionResult> GetAllQuizzesAsync() { var returnMessage = ""; try { Quiz_DTO quiz_DTO = new Quiz_DTO(); var quizzes = await _quizRepository.GetAllQuizzesAsync(); List <Quiz_DTO> quiz_DTOs = new List <Quiz_DTO>(); foreach (var obj in quizzes) { quiz_DTO = QuizMapper.ConvertTo_DTO(obj, ref quiz_DTO); quiz_DTOs.Add(quiz_DTO); } return(Ok(quiz_DTOs)); } catch (Exception ex) { returnMessage = $"Foutief of ongeldig request: {ex.Message}"; ModelState.AddModelError("", returnMessage); } return(BadRequest(returnMessage)); }
public Response <QuizDTO> FindQuiz(int id) { try { if (id <= 0) { return(new Response <QuizDTO>() { Errors = new List <Error>() { new Error { Type = ErrorType.ValidationError, Message = "De id mag niet 0 zijn" } } }); } var quiz = _teamQuizRondeUnitOfWork.QuizRepository.GetById(id); var quizReturn = QuizMapper.MapQuizModelToQuizDTO(quiz); return(new Response <QuizDTO>() { DTO = quizReturn }); } catch (Exception ex) { return(new Response <QuizDTO>() { Errors = new List <Error>() { new Error { Type = ErrorType.Exception, Message = ex.Message } } }); } }