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