public IQuestionDto Map(IQuestionModel model)
 {
     return Mapper.Map<QuestionDto>(model);
 }
        public async Task AddQuestionToQuizAsync(int quizId, IQuestionModel question)
        {
            if (question == null)
            {
                throw new ArgumentNullException("question");
            }
           
            //TODO add validation for multiple solutions
            IQuizDto quizDto = await _quizRepository.GetQuiz(quizId);
            if (quizDto == null)
            {
                throw new InvalidAddQuestionException(new List<ValidationResult>
                                                      {
                                                          new ValidationResult(string.Format("Quiz with Id {0} doesn't exist", quizId), new [] {"QuizId"})
                                                      });
            }
            EntityValidationResult result = _entityValidator.ValidateEntity(question);
            if (result.IsValid == false)
            {
                throw new InvalidAddQuestionException(result.ValidationResults);
            }

            var questionDto = _questionDtoMapper.Map(question);
            await _quizRepository.AddQuestionToQuiz(quizId, questionDto);
        }