public ActionResult Create() { using (var dbContext = new SATEntities()) { var hasInput = true; var textType = new SelectListItem() { Value = "1", Text = "Nhập vào" }; var choiceType = new SelectListItem() { Value = "0", Text = "Chọn câu", Disabled = hasInput ? true : false }; ViewBag.AnswerType = new SelectList(new List <SelectListItem>() { choiceType, textType }, "Value", "Text", hasInput ? "1" : "0"); var listType = new SelectList(dbContext.SATTypes.ToList(), "TypeID", "TypeName"); ViewBag.Type = listType; List <SelectListItem> listCalc = UseCalcSelectList(); ViewBag.UseCalc = new SelectList(listCalc, "Value", "Text"); var model = new QuestionCreateViewModel(); model.Status = false; ViewBag.FormValue = JsonConvert.SerializeObject(model); var listExamContent = new ExamContentSelectList().GetExamContentSelectList(); ViewBag.ExamContentID = listExamContent; ViewBag.IsInputAnswer = false; return(View("CreateWithAnswer", model)); } }
public ActionResult Edit(int id) { using (var db = new SATEntities()) { ViewBag.EditQuestion = true; var hasInput = true; var textType = new SelectListItem() { Value = "1", Text = "Nhập vào" }; var choiceType = new SelectListItem() { Value = "0", Text = "Chọn câu", Disabled = hasInput ? true : false }; ViewBag.AnswerType = new SelectList(new List <SelectListItem>() { choiceType, textType }, "Value", "Text", hasInput ? "1" : "0"); var questionEntity = db.SATQuestions.Find(id); var model = questionEntity.Map <QuestionEditViewModel>(); model.Answers = new QuestionEditViewModel(id).Answers; ViewBag.FormValue = JsonConvert.SerializeObject(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); var listType = new SelectList(db.SATTypes.ToList(), "TypeID", "TypeName", questionEntity.TypeID); ViewBag.Type = listType; List <SelectListItem> listCalc = UseCalcSelectList(); //ViewBag.UseCalc = new SelectList(listCalc, "Value", "Text", questionEntity.UserCalculator); var examContentID = questionEntity.ExamContentID != null ? questionEntity.ExamContentID.Value : 0; var listExamContent = new ExamContentSelectList().GetExamContentSelectList(examContentID); ViewBag.SelectedID = examContentID; ViewBag.ExamContentID = listExamContent; if (model.Answers?.Count > 1) { ViewBag.IsInputAnswer = false; } else { ViewBag.IsInputAnswer = true; } return(View("EditWithAnswer", model)); } }
public ActionResult Edit(int id, QuestionEditViewModel model, List <SATAnswer> Answers) { try { using (var db = new SATEntities()) { var questionEntity = db.SATQuestions.Find(id); ViewBag.EditQuestion = true; var hasInput = true; var textType = new SelectListItem() { Value = "1", Text = "Nhập vào" }; var choiceType = new SelectListItem() { Value = "0", Text = "Chọn câu", Disabled = hasInput ? true : false }; ViewBag.AnswerType = new SelectList(new List <SelectListItem>() { choiceType, textType }, "Value", "Text", hasInput ? "1" : "0"); var examContentID = questionEntity.ExamContentID != null ? questionEntity.ExamContentID.Value : 0; ViewBag.SelectedID = examContentID; var listExamContent = new ExamContentSelectList().GetExamContentSelectList(examContentID); ViewBag.ExamContentID = listExamContent; var listType = new SelectList(db.SATTypes.ToList(), "TypeID", "TypeName", questionEntity.TypeID); ViewBag.Type = listType; List <SelectListItem> listCalc = UseCalcSelectList(); ViewBag.UseCalc = new SelectList(listCalc, "Value", "Text"); if (!ModelState.IsValid) { if (Session["IsInputAnswer"] != null) { ViewBag.IsInputAnswer = (bool)Session["IsInputAnswer"]; } ViewBag.FormValue = JsonConvert.SerializeObject(model); return(View("EditWithAnswer", model)); } questionEntity.ExamContentID = model.ExamContentID; questionEntity.HasInputAnswer = model.HasInputAnswer; questionEntity.QuestionContent = model.QuestionContent; questionEntity.QuestionNo = model.QuestionNo; questionEntity.Status = model.Status; questionEntity.Title = model.Title; questionEntity.TypeID = model.TypeID; var entry = db.Entry <SATQuestion>(questionEntity); entry.State = System.Data.Entity.EntityState.Modified; if (Answers.Count == 1) { var qID = Answers[0].QuestionID; var _answ = Answers[0]; var other = db.SATAnswers.Where(a => a.QuestionID == qID && a.ID != _answ.ID).ToList(); foreach (var item in other) { item.Status = false; var _entry = db.Entry <SATAnswer>(item); _entry.State = System.Data.Entity.EntityState.Modified; } } foreach (var item in Answers) { var _entity = db.SATAnswers.Find(item.ID); _entity.AnswerContent = item.AnswerContent; _entity.AnswerType = item.AnswerType; _entity.IsRightAnswer = item.IsRightAnswer; _entity.Mark = item.Mark; _entity.QuestionID = id; _entity.Status = item.Status; _entity.Explanation = item.Explanation; var _entry = db.Entry <SATAnswer>(_entity); _entry.State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception ex) { if (Session["IsInputAnswer"] != null) { ViewBag.IsInputAnswer = (bool)Session["IsInputAnswer"]; } ViewBag.FormValue = JsonConvert.SerializeObject(model); return(View("EditWithAnswer", model)); } }
public ActionResult Create(QuestionCreateViewModel model, List <SATAnswer> Answers, string btnSave) { var db = new SATEntities(); var listType = new SelectList(db.SATTypes.ToList(), "TypeID", "TypeName"); ViewBag.Type = listType; List <SelectListItem> listCalc = UseCalcSelectList(); ViewBag.UseCalc = new SelectList(listCalc, "Value", "Text"); var listExamContent = new ExamContentSelectList().GetExamContentSelectList(); ViewBag.ExamContentID = listExamContent; db.Dispose(); var hasInput = true; var textType = new SelectListItem() { Value = "1", Text = "Nhập vào" }; var choiceType = new SelectListItem() { Value = "0", Text = "Chọn câu", Disabled = hasInput ? true : false }; ViewBag.AnswerType = new SelectList(new List <SelectListItem>() { choiceType, textType }, "Value", "Text", hasInput ? "1" : "0"); try { if (!ModelState.IsValid) { ViewBag.FormValue = JsonConvert.SerializeObject(model); if (Session["IsInputAnswer"] != null) { ViewBag.IsInputAnswer = (bool)Session["IsInputAnswer"]; } return(View("CreateWithAnswer", model)); } using (var dbContext = new SATEntities()) { var questionModel = new SATQuestion(); questionModel.ExamContentID = model.ExamContentID; questionModel.HasInputAnswer = model.HasInputAnswer; questionModel.QuestionContent = model.QuestionContent; questionModel.QuestionNo = model.QuestionNo; questionModel.Status = btnSave == "Tạo mới & Đăng" ? true : false; questionModel.Title = model.Title; questionModel.TypeID = model.TypeID; dbContext.SATQuestions.Add(questionModel); dbContext.SaveChanges(); var lastest = dbContext.SATQuestions.Max(q => q.ID); foreach (var item in Answers) { item.QuestionID = lastest; } dbContext.SATAnswers.AddRange(Answers); dbContext.SaveChanges(); } return(RedirectToAction("Index")); } catch (Exception ex) { return(View("CreateWithAnswer", model)); } }