public FindQuestionsDto(int?idQuestion, string intitule, string category, string level, FindAnswerDto answer) { IdQuestion = idQuestion; Intitule = intitule; Category = category; Level = level; Answer = answer; }
public FindQuizzQuestionsDto(int?idQuestion, string intitule, string category, string level, FindAnswerDto answer, string candidateAnswer, bool?iscorrectAnswer) { IdQuestion = idQuestion; Intitule = intitule; Category = category; Level = level; Answer = answer; CandidateAnswer = candidateAnswer; IsCorrectAnswer = iscorrectAnswer; }
/* * /// <summary> * /// Permet d'update une question * /// </summary> * /// <param name="id"></param> * /// <param name="obj"></param> * /// <returns>une question modifié (DTO) </returns> * internal FindQuestionsDto PutQuestion(int id, CreatedQuestionDTO obj) * { * Question questionModels = transformsDtoToModel(obj); * Question questionUpdate = questionsRepository.Update(id, questionModels); * return TransformsModelToDTO(questionUpdate); * } */ /// <summary> /// Générer une question dans la bdd /// </summary> /// <param name="obj"></param> /// <returns>la question créée</returns> internal FindQuestionsDto PostQuestion(CreatedQuestionDTO obj) { // Création de la réponse FindAnswerDto answer = this.AnswerServices.PostAnswer(obj.Answer); // Création de la question Question questionModel = transformsDtoToModel(obj, (int)answer.IdAnswer); Question questioncreated = questionsRepository.Create(questionModel); return(TransformsModelToDTO(questioncreated, answer)); }
/// <summary> /// Trasnforme une question en FindQuizzQuestionsDto /// </summary> /// <param name="question">question à transformer</param> /// <param name="idAnswerCandidate">id de la réponse du candidat</param> /// <returns>FindQuizzQuestionsDto</returns> private FindQuizzQuestionsDto TransformsModelToDTOQuestion(Question question, string answerCandidate, bool?isCorrectAnswer) { CategoryRepository catRepo = new CategoryRepository(new QueryBuilder()); FindAnswerDto answer = AnswersServices.GetAnswerById((int)question.IdAnswer); return(new FindQuizzQuestionsDto( question.IdQuestion, question.Intitule, catRepo.Find((int)question.IdCategory).NameCategory, TransformeIdLevelToString((int)question.IdLevel), answer, answerCandidate, isCorrectAnswer )); }
/// <summary> /// Converti un Model en DTO /// </summary> /// <param name="question"></param> /// <returns>Une question en DTO</returns> private FindQuestionsDto TransformsModelToDTO(Question question, FindAnswerDto answer = null) { LevelRepository lvlRepo = new LevelRepository(new QueryBuilder()); CategoryRepository catRepo = new CategoryRepository(new QueryBuilder()); // Si answer est inconnu alors aller le récupérer à l'aide de service answer et rappel la méthode if (answer == null) { return(TransformsModelToDTO(question, AnswerServices.GetAnswerById((int)question.IdAnswer))); } return(new FindQuestionsDto( question.IdQuestion, question.Intitule, catRepo.Find((int)question.IdCategory).NameCategory, lvlRepo.Find((int)question.IdLevel).NameLevel, answer )); }