/// <summary> /// Returns the contestants on the "Wrong answers list" for a QuestionInstance /// </summary> /// <param name="quizInstanceId"></param> /// <param name="questionId"></param> /// <returns></returns> public List <Contestant> GetContestants(int quizInstanceId, int questionId) { List <Contestant> contestants = new List <Contestant>(); SqlCommand command = new SqlCommand(); command.CommandText = @"SELECT Id, Name, Contestant.QuizInstanceId FROM Contestant INNER JOIN ContestantQuestionInstance ON Contestant.Id = ContestantQuestionInstance.ContestantId WHERE ContestantQuestionInstance.QuizInstanceId = @QuizInstanceId AND ContestantQuestionInstance.QuestionId = @QuestionId"; command.Parameters.AddWithValue("@QuizInstanceId", quizInstanceId); command.Parameters.AddWithValue("@QuestionId", questionId); return(repository.MultiRead(command)); //string commandText = // @"SELECT Id, Name, Contestant.QuizInstanceId // FROM Contestant INNER JOIN ContestantQuestionInstance // ON Contestant.Id = ContestantQuestionInstance.ContestantId // WHERE ContestantQuestionInstance.QuizInstanceId = "+quizInstanceId+@" // AND ContestantQuestionInstance.QuestionId = "+questionId; //foreach(Object obj in Repository.MultiRead(commandText, new Contestant())) //{ // contestants.Add((Contestant)obj); //} }
/// <summary> /// Extracts all questions from DB /// </summary> /// <returns>List of questions</returns> public List <Question> GetAll() { List <Question> questions = new List <Question>(); SqlCommand command = new SqlCommand(); command.CommandText = @"SELECT * FROM Question"; //foreach (Object obj in Repository.MultiRead(commandText, new Question())) //{ // questions.Add((Question)obj); //} return(repository.MultiRead(command)); }
/// <summary> /// Gets all quizzes from the database /// </summary> /// <returns>A list of quizzes</returns> public List <Quiz> GetAll() { var command = new SqlCommand(); command.CommandText = @"SELECT * FROM Quiz WHERE Exclude = 0"; List <Quiz> quizzes = repository.MultiRead(command); foreach (Quiz quiz in quizzes) { quiz.Author = new DBUser().GetById(quiz.AuthorId); } return(repository.MultiRead(command)); }
internal List <QuestionInstance> GetQuestionInstances(int quizInstanceId) { var command = new SqlCommand(); command.CommandText = @"SELECT * FROM QuestionInstance WHERE QuizInstanceId=@QuizInstanceId"; command.Parameters.AddWithValue("@QuizInstanceId", quizInstanceId); DBContestant dbContestant = new DBContestant(); List <QuestionInstance> questionInstances = repository.MultiRead(command); foreach (QuestionInstance obj in questionInstances) { obj.CorrectAnswer = dbContestant.GetContestant(quizInstanceId, obj.QuestionId); obj.WrongAnswers = dbContestant.GetContestants(obj.QuizInstanceId, obj.QuestionId); } return(questionInstances); }
public List <QuizInstance> GetQuizInstancesByUserId(int userId) { SqlCommand command = new SqlCommand(); command.CommandText = "SELECT * FROM QuizInstance WHERE UserId = @userId"; command.Parameters.AddWithValue("@userId", userId); List <QuizInstance> quizInstances = repository.MultiRead(command); foreach (QuizInstance quizInstance in quizInstances) { quizInstance.Quiz = new DBQuiz().GetQuizById(quizInstance.QuizId); } return(quizInstances); }
/// <summary> /// Returns all answers for a question /// </summary> internal List <Answer> GetAnswers(int questionId) { List <Answer> answers = new List <Answer>(); SqlCommand command = new SqlCommand(); command.CommandText = @"SELECT * FROM Answer WHERE QuestionId = @id"; command.Parameters.AddWithValue("@id", questionId); answers = repository.MultiRead(command); //foreach (Object obj in repository.MultiRead(command)) //{ // answers.Add((Answer)obj); //} return(answers); }