示例#1
0
        public List <int> QuestionSelect(List <int> questionIds, int count, int lessonId, DifficultyType difficulty)
        {
            int tableCount = _context.GetTableCount(s => s.LessonId == lessonId && s.Difficulty == difficulty);

            if (tableCount < count)
            {
                _context.GetList(s => s.LessonId == lessonId && s.Difficulty == difficulty).Select(s => s.Id).ToList().ForEach(questionIds.Add);
                questionIds.Add(-1);
                return(questionIds);
            }
            var        randomNumberGenerator = new Random();
            List <int> skipValues            = new List <int>();

            for (int i = 0; i < count; i++)
            {
                int randomValue = randomNumberGenerator.Next(tableCount);
                repeat : if (skipValues.Any(s => s == randomValue))
                {
                    randomValue = randomNumberGenerator.Next(tableCount);
                    goto repeat;
                }

                skipValues.Add(randomValue);
                questionIds.Add(_context.Get(s => s.LessonId == lessonId && s.Difficulty == difficulty, randomValue).Id);
            }

            return(questionIds);
        }
示例#2
0
        public string[,] LessonSelector()
        {
            List <Lesson> lessons = _lessonRep.GetList();

            string[,] turnArray = new string[lessons.Count, 2];
            int iterator = 0;

            foreach (var lesson in lessons)
            {
                turnArray[iterator, 0] = lesson.Id.ToString();
                turnArray[iterator, 1] = lesson.LessonName;
                iterator++;
            }
            return(turnArray);
        }
示例#3
0
 public void ListEntityWithTable(Expression <Func <Exam, bool> > filter = null)
 {
     _view.ShowTable(ListToTable(Context.GetList(filter)));
 }