예제 #1
0
        public ActionResult AddTest(FormCollection form)
        {
            if (!user.IsTeacher())
            {
                return(View("Error"));
            }
            Model.UpdateLastSeen("Thêm Đề Thi", Url.Action("AddTest"));
            //tạo đề thi
            string test_name = form["test_name"];
            string password  = Common.Encryptor.MD5Hash(form["password"]);                              // mã hóa mật khẩu
            //sinh số test code ngẫu nhiên
            Random rnd            = new Random();
            int    test_code      = rnd.Next(111111, 999999);                                           // tạo mã thi
            int    id_subject     = Convert.ToInt32(form["id_subject"]);
            int    total_question = Convert.ToInt32(form["total_question"]);
            int    time_to_do     = Convert.ToInt32(form["time_to_do"]);
            string note           = "";

            if (form["note"] != "")
            {
                note = form["note"];
            }
            bool add = Model.AddTest(test_name, password, test_code, id_subject, total_question, time_to_do, note);

            if (add)
            {
                TempData["status_id"] = true;
                TempData["status"]    = "Thêm Thành Công";
                //tạo bộ câu hỏi cho đề thi
                List <UnitViewModel> list_unit = Model.GetUnits(id_subject);
                foreach (UnitViewModel unit in list_unit)
                {
                    int             quest_of_unit = Convert.ToInt32(form["unit-" + unit.Unit]);
                    List <question> list_question = Model.GetQuestionsByUnit(id_subject, unit.Unit, quest_of_unit);
                    foreach (question item in list_question)
                    {
                        Model.AddQuestionsToTest(test_code, item.id_question);
                    }
                }
            }
            else
            {
                TempData["status_id"] = false;
                TempData["status"]    = "Thêm Thất Bại";
            }
            return(RedirectToAction("TestManager"));
        }