예제 #1
0
        public List <TestQuestion> GetList()
        {
            List <TestQuestion> tlist = null;

            using (StreamReader sr = new StreamReader(System.IO.Path.Combine(AppDomain.CurrentDomain.GetData("DataDirectory").ToString(), "Midterm.json")))
            {
                string filedata = sr.ReadToEnd();
                tlist = JsonConvert.DeserializeObject <List <TestQuestion> >(filedata);
                List <TestQuestion> temp = new List <TestQuestion>();
                foreach (TestQuestion quest in tlist)
                {
                    if (quest.type == "MultipleChoiceQuestion")
                    {
                        TestQuestion q = new MultipleChoiceQuestion();
                        q.id       = quest.id;
                        q.question = quest.question;
                        q.choices  = quest.choices;
                        q.type     = quest.type;
                        q.answer   = quest.answer;
                        temp.Add(q);
                    }
                    else if (quest.type == "LongAnswerQuestion")
                    {
                        TestQuestion q = new LongQuestion();
                        q.id       = quest.id;
                        q.question = quest.question;
                        q.choices  = quest.choices;
                        q.type     = quest.type;
                        q.answer   = quest.answer;
                        temp.Add(q);
                    }
                    else if (quest.type == "ShortAnswerQuestion")
                    {
                        TestQuestion q = new ShortQuestion();
                        q.id       = quest.id;
                        q.question = quest.question;
                        q.choices  = quest.choices;
                        q.type     = quest.type;
                        q.answer   = quest.answer;
                        temp.Add(q);
                    }
                    else if (quest.type == "TrueFalseQuestion")
                    {
                        TestQuestion q = new TrueFalseQuestion();
                        q.id       = quest.id;
                        q.question = quest.question;
                        q.choices  = quest.choices;
                        q.type     = quest.type;
                        q.answer   = quest.answer;
                        temp.Add(q);
                    }
                }
                tlist = temp;
            }
            if (tlist == null)
            {
                tlist = new List <TestQuestion>();
            }
            return(tlist);
        }
        public TestQuestion Get(int id)
        {
            TestQuestion question = null;
            string       Qtype;

            //List<TestQuestion> questlist = new List<TestQuestion>();
            using (SqlConnection connection = new SqlConnection(GetConnectionString()))
            {
                using (SqlCommand command = new SqlCommand("QuestGet", connection))
                {
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@ID", id);
                    connection.Open();
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            Qtype = (string)reader["QType"];
                            if (Qtype == "TrueFalseQuestion")
                            {
                                question          = new TrueFalseQuestion();
                                question.ID       = (int)reader["ID"];
                                question.Question = (string)reader["Question"];
                                //questlist.Append(question);
                            }
                            else if (Qtype == "ShortAnswerQuestion")
                            {
                                question          = new ShortQuestion();
                                question.ID       = (int)reader["ID"];
                                question.Question = (string)reader["Question"];
                                //questlist.Append(question);
                            }
                            else if (Qtype == "LongAnswerQuesiton")
                            {
                                question          = new LongQuestion();
                                question.ID       = (int)reader["ID"];
                                question.Question = (string)reader["Question"];
                                //questlist.Append(question);
                            }
                            else if (Qtype == "MultipleChoiceQuestion")
                            {
                                question          = new MultipleChoiceQuestion();
                                question.ID       = (int)reader["ID"];
                                question.Question = (string)reader["Question"];
                                //question.Choice = (string[])reader["Choice"];
                                //questlist.Append(question);
                            }
                        }
                    }
                }
            }
            return(question);
        }