Exemple #1
0
        public ActionResult AddQuestion(FormCollection form, HttpPostedFileBase File)           // thêm câu hỏi
        {
            if (!user.IsAdmin())
            {
                return(View("Error"));
            }
            Model.UpdateLastSeen("Thêm Câu Hỏi", Url.Action("AddQuestion"));
            int id_subject = Convert.ToInt32(form["id_subject"]);
            int unit       = Convert.ToInt32(form["unit"]);
            // truyền vào dữ liệu đáp án
            string content = form["content"];

            string[] answer = new string[] {
                form["answer_a"],
                form["answer_b"],
                form["answer_c"],
                form["answer_d"]
            };
            answer = Common.ShuffleArray.Randomize(answer);
            string answer_a = answer[0];
            string answer_b = answer[1];
            string answer_c = answer[2];
            string answer_d = answer[3];
            // truyền vào hình ảnh
            string correct_answer = form["correct_answer"];
            string img_content    = "noimage.png";

            try
            {
                string fileName = Path.GetFileName(File.FileName);                                  // lấy đường dẫn file
                //Upload image
                string path = Server.MapPath("~/Assets/img_questions/");
                //Đuối hỗ trợ
                var allowedExtensions = new[] { ".png", ".jpg" };
                //Lấy phần mở rộng của file
                string extensionName = Path.GetExtension(File.FileName).ToLower();
                //Kiểm tra đuôi file
                if (!allowedExtensions.Contains(extensionName))
                {
                    TempData["status_id"] = false;
                    TempData["status"]    = "Chỉ chọn file ảnh đuôi .PNG .png .JPG .jpg";
                    return(RedirectToAction("QuestionManager"));
                }
                else
                {
                    // Tạo tên file ngẫu nhiên
                    img_content = DateTime.Now.Ticks.ToString() + extensionName;
                    // Upload file lên server
                    File.SaveAs(path + img_content);
                }
            }
            catch (Exception) { }
            bool add = Model.AddQuestion(id_subject, unit, content, img_content, answer_a, answer_b, answer_c, answer_d, correct_answer);

            if (add)
            {
                TempData["status_id"] = true;
                TempData["status"]    = "Thêm Thành Công";
            }
            else
            {
                TempData["status_id"] = false;
                TempData["status"]    = "Thêm Thất Bại";
            }
            return(RedirectToAction("QuestionManager"));
        }