public IList <GetLevelQuestionsResult> GetQuestionListLevelPlanetName(GetLevelQuestionsDto getLevelQuestions)
        {
            var resultPlanet   = _databaseContext.Planets.FirstOrDefault(p => p.PlanetName == getLevelQuestions.PlanetName);
            var numberOfLevels = _levelRepository.GetNumberOfLevelsForPlanet(getLevelQuestions.PlanetName);

            var result = GetAll().Where(x => x.Level.NumberLevel == getLevelQuestions.NumberLevel && x.Level.Planet.PlanetId == resultPlanet?.PlanetId);

            var resultList = new List <GetLevelQuestionsResult>();

            foreach (var q in result)
            {
                resultList.Add(new GetLevelQuestionsResult()
                {
                    QuestionText                 = q.QuestionText,
                    RightAnswer                  = q.RightAnswer,
                    FirstWrongAnswer             = q.FirstWrongAnswer,
                    SecondWrongAnswer            = q.SecondWrongAnswer,
                    ThirdWrongAnswer             = q.ThirdWrongAnswer,
                    QuestionId                   = q.QuestionId,
                    TotalNumberOfLevelsForPlanet = numberOfLevels.ToString()
                });
            }

            return(resultList);
        }
        public GetLevelQuestionsResult GetRandomQuestionForLevelPlanetName(GetLevelQuestionsDto getLevelQuestions)
        {
            var questionList = GetQuestionListLevelPlanetName(getLevelQuestions);

            var position = new Random().Next(0, questionList.Count);

            return(questionList[position]);
        }
Beispiel #3
0
        public IList <GetLevelQuestionsResult> GetQuestionListLevelPlanetName(GetLevelQuestionsDto getLevelQuestions)
        {
            var result = _databaseContext.Levels
                         .Include(l => l.QuestionsList)
                         .Include(l => l.Planet)
                         .Where(l => l.NumberLevel == getLevelQuestions.NumberLevel && l.Planet.PlanetName == getLevelQuestions.PlanetName).ToList();

            var resultList = new List <GetLevelQuestionsResult>();

            foreach (var q in result)
            {
                resultList.Add(new GetLevelQuestionsResult()
                {
                    QuestionText = q.QuestionsList[0].QuestionText,
                    QuestionId   = q.QuestionsList[0].QuestionId
                });
            }

            return(resultList);
        }