Пример #1
0
        private GenericOperationResult <QuizForStudentResult> PredfinedQuiz(int quizId, User student)
        {
            var result = OperationResult.GetGenericResultObject <QuizForStudentResult>();

            try
            {
                var quiz = _quizRepository.GetItem(quizId);

                if (quiz == null)
                {
                    result.AddMessage(_messagesService.GetErrorMessage(ErrorMessageKeys.EntityNotFound));
                    return(result);
                }
                else
                {
                    var data = new QuizForStudentResult();
                    data.Student = student;
                    data.Quiz    = quiz;

                    result.SetData(data);
                    result.SetSuccess();

                    return(result);
                }
            }
            catch (Exception e)
            {
                result.SetException();
                result.AddExceptionMessage(e.Message);
                return(result);
            }
        }
Пример #2
0
        private GenericOperationResult <QuizForStudentResult> GenerateRandomQuiz(User student)
        {
            var result = OperationResult.GetGenericResultObject <QuizForStudentResult>();

            try
            {
                var newRandomQuiz = new Quiz();
                newRandomQuiz.Name      = "Случаен Квиз";
                newRandomQuiz.IsRandom  = true;
                newRandomQuiz.TypeId    = 1;
                newRandomQuiz.TeacherId = 1;

                var allQuestions    = _questionRepository.GetAllItems();
                var allQuizes       = _quizRepository.GetAllItems();
                var allRandomQuizes = allQuizes.Where(x => x.IsRandom == true).ToList();

                int nameNumber = 1;
                if (allRandomQuizes.Count() > 0)
                {
                    var randomQuizesName      = allRandomQuizes.Select(x => x.Name);
                    var randomQuizNameNumbers = randomQuizesName.Select(x => Int32.Parse(x.Split(' ')[2]));
                    var maxNumber             = randomQuizNameNumbers.Max();
                    nameNumber = maxNumber + 1;
                }

                newRandomQuiz.Name += " " + nameNumber.ToString();

                // pick 5 random questions.
                var randomQuestions = PickRandomQuestions(allQuestions, 5);

                //add the random picked questions
                foreach (var randomQuestion in randomQuestions)
                {
                    newRandomQuiz.Questions.Add(randomQuestion);
                }

                _quizRepository.CreateItem(newRandomQuiz);

                var quizForStudent = new QuizForStudentResult();
                quizForStudent.Quiz    = newRandomQuiz;
                quizForStudent.Student = student;

                result.SetSuccess();
                result.SetData(quizForStudent);
            }
            catch (Exception ex)
            {
                result.SetException();
                result.AddMessage(ex.Message);
                result.AddExceptionMessage(ex.Message);
                return(result);
            }
            return(result);
        }