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); } }
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); }