Example #1
0
        public Result GetQuizByType(QuizTypes type)
        {
            var con    = new DapperConnectionManager();
            var query  = new QueryEntity();
            var result = new Result();

            //ASSeSSMENT QUIZZES GET BY DOMAIN NO TYPE
            if (QuizTypes.ASSESSMENT == type)
            {
                result.Success = false;
                return(result);
            }

            query.Query  = @"SELECT * FROM Quizzes
                            where Type = @Type";
            query.Entity = new { Type = type.ToString() };

            result = con.ExecuteQuery <QuizEntity>(query);

            if (!result.Success)
            {
                result.Message = "An error occurred";
                return(result);
            }

            var r = (IEnumerable <QuizEntity>)result.Entity;

            var quiz = r.FirstOrDefault();

            if (quiz == null)
            {
                //new quiz needs to be inserted
                quiz = new QuizEntity
                {
                    Name = type.ToString(),
                    Type = type.ToString()
                };
                result = Insert(quiz, con);
            }
            else
            {
                var resultQ = GetQuestionsByQuiz(quiz.QuizId, con);
                if (!resultQ.Success)
                {
                    return(resultQ);
                }
                quiz.Questions = (List <QuestionEntity>)resultQ.Entity;
            }
            result.Entity = quiz;
            return(result);
        }