public TestListItemDto(TestDto model)
        {
            Id             = model.Id;
            Name           = model.Name;
            Description    = model.Description;
            QuestionsCount = model.Questions.Count();
            MaxResult      = Math.Round(model.Questions
                                        .Select(question => question.Difficulty * (question.Answers.Where(a => a.IsRight).Count() / (double)question.Answers.Count()))
                                        .Sum(), 3);
            MinResult = Math.Round(model.Questions
                                   .Select(question => question.Difficulty
                                           * (-question.Answers.Where(a => !a.IsRight).Count() / (double)question.Answers.Count())
                                           * 0.5)
                                   .Sum(), 3);

            ReferenceTime = TimeSpan.FromSeconds(model.Questions.Sum(q => q.ReferenceResponseSeconds)).ToString();
        }
 public TestEditDto(TestDto test, List <QuestionDto> allQuestions)
 {
     Test         = test;
     AllQuestions = allQuestions;
 }
 public TestEditDto(TestDto test, List <QuestionModel> allQuestions)
     : this(test, allQuestions.Select(question => new QuestionDto(question)).ToList())
 {
 }