public static QuestionImageDtoBO ToDto(this Models.Question entity)
 {
     return(new QuestionImageDtoBO
     {
         Id = entity.Id,
         Interogation = entity.Interogation,
         Reponse = entity.Propositions == null ? null : (PropositionDtoBOExtensions.ToDto(entity.Propositions.First(x => x.IsCorrect))).ToReponse(),
         MediaQuestions = entity.MediaQuestions.Select(x => x.ToDto()).ToList(),
         QuestionType = entity.QuestionType
     });
 }
Пример #2
0
 public static QuestionTexteDtoBO ToDto(this Models.Question entity)
 {
     return(new QuestionTexteDtoBO
     {
         Id = entity.Id,
         Interogation = entity.Interogation,
         Reponse = entity.Propositions == null ? null : (PropositionDtoBOExtensions.ToDto(entity.Propositions.First(x => x.IsCorrect))).ToReponse(),
         Propositions = entity.Propositions.Where(x => !x.IsCorrect).Select(x => PropositionDtoBOExtensions.ToDto(x)).ToList(),
         QuestionType = entity.QuestionType,
         Media = entity.MediaQuestions.Count == 0 ? null : entity.MediaQuestions.First().ToDto()
     });
 }
Пример #3
0
        public static Question ToEntity(this QuestionTexteDtoBO dto)
        {
            if (dto.Reponse == null)
            {
                throw new NoResponseException("No response send for the question");
            }
            if (dto.Propositions.Count != 3)
            {
                throw new NoPropositionException("A Texte question must contain three fake choice");
            }
            ICollection <Propositions> propositions = dto.Propositions.Select(x => PropositionDtoBOExtensions.ToEntity(x)).ToList();

            propositions.Add(dto.Reponse.ToProposition());
            return(new Question
            {
                Id = dto.Id,
                Interogation = dto.Interogation,
                QuestionTypeId = dto.QuestionType == null ? null : dto.QuestionType.Id,
                Propositions = propositions,
                MediaQuestions = dto.Media == null ? new List <MediaQuestion>() : new List <MediaQuestion> {
                    dto.Media.ToEntity()
                }
            });
        }