public JsonResult UpdateQuestion(QUESTION_OBJ obj, string typeQuestion) { int ret = 0; int add = 0; QUESTION_OBJ objTemp; string codeAnswer = ""; QUESTION_BUS bus = new QUESTION_BUS(); ANSWER_BUS ansbus = new ANSWER_BUS(); if (!string.IsNullOrEmpty(obj.CODE)) //edit { objTemp = bus.GetByID(new QUESTION_OBJ.BusinessObjectID(obj.CODE)); if (typeQuestion == "CO") { List <ANSWER_OBJ> libegin = ansbus.getAllBy2(" CODE ", new fieldpara("QUESTIONCODE", obj.CODE, 0) , new fieldpara("QUESTIONGROUPCODE", obj.QUESTIONGROUPCODE, 0)); if (obj.ANSWERCODE != null) { foreach (ANSWER_OBJ item in libegin) { if (item.CODEVIEW.Split('_')[1] == obj.ANSWERCODE) { codeAnswer = item.CODE; item.TRUEANSWER = 1; item._ID.CODE = item.CODE; ret = ansbus.update(item); } else { item.TRUEANSWER = 0; item._ID.CODE = item.CODE; ret = ansbus.update(item); } } } } } else //add { objTemp = new QUESTION_OBJ(); } if (ret < 0) { //đóng kết nối trước khi trả về bus.CloseConnection(); //ban ghi sửa đã bị xóa return(Json(new { ret }, JsonRequestBehavior.AllowGet)); } //hết kiểm tra tồn tại bản ghi objTemp.CODEVIEW = obj.CODEVIEW; objTemp.NAME = obj.NAME; objTemp.CONTENTIMG = obj.CONTENTIMG; objTemp.MARK = obj.MARK; objTemp.ORD = obj.ORD; objTemp.LOCK = obj.LOCK; objTemp.CONTENT = obj.CONTENT; objTemp.QUESTIONGROUPCODE = obj.QUESTIONGROUPCODE; //trong trường hợp là câu hỏi dạng CO thì cập nhật lại answercode bằng codeanswer không thì sẽ làm như bình thường objTemp.Answercode= obj.Answercode objTemp.ANSWERCODE = typeQuestion == "CO" ? codeAnswer : obj.ANSWERCODE; //Kiểm tra tình trạng sửa hay là thêm mới if (string.IsNullOrEmpty(obj.CODE)) { //Thêm mới add = 1; //Sinh mã objTemp.CODE = bus.genNextCode(obj); if (typeQuestion == "CO") { ANSWER_OBJ objAnser = new ANSWER_OBJ(); ANSWER_BUS busAnswer = new ANSWER_BUS(); string answerCode = busAnswer.genNextCode(objAnser); List <ANSWER_OBJ> listAnswer = new List <ANSWER_OBJ>(); List <string> listContentAnswer = new List <string> { "TRUE", "FALSE", "NOT GIVEN" }; //Tự động sinh ra câu hỏi và là 3 đáp án true, false, //Tự động sinh ra câu tra lời for (int i = 0; i < listContentAnswer.Count; i++) { ANSWER_OBJ answer = new ANSWER_OBJ { CODE = answerCode }; answerCode = busAnswer.GenNextCode(answer, answerCode); answer.QUESTIONCODE = objTemp.CODE; answer.QUESTIONGROUPCODE = obj.QUESTIONGROUPCODE; answer.CODEVIEW = "CO_" + i; answer.THEORDER = i + 1; answer.NAME = "CO" + (i + 1); answer.CONTENT = listContentAnswer[i]; if (int.Parse(obj.ANSWERCODE) == i) { objTemp.ANSWERCODE = answerCode; answer.TRUEANSWER = 1; } else { answer.TRUEANSWER = 0; } listAnswer.Add(answer); } busAnswer.BeginTransaction(); ret = busAnswer.InsertMultiItems(listAnswer); if (ret < 0) { busAnswer.RollbackTransaction(); } else { busAnswer.CommitTransaction(); } busAnswer.CloseConnection(); } } if (add == 1 && ret >= 0) { ret = bus.insert(objTemp); } else { //gán _ID để xác định bản ghi sẽ được cập nhật objTemp._ID.CODE = obj.CODE; ret = bus.update(objTemp); } bus.CloseConnection(); ansbus.CloseConnection(); return(Json(new { ret }, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateAnswer(ANSWER_OBJ obj) { ANSWER_BUS bus = new ANSWER_BUS(); int ret = 0; int add = 0; //kiểm tra tồn tại cho trường hợp sửa var objTemp = !string.IsNullOrEmpty(obj.CODE) ? bus.GetByID(new ANSWER_OBJ.BusinessObjectID(obj.CODE)) : new ANSWER_OBJ(); if (ret < 0) { //đóng kết nối trước khi trả về bus.CloseConnection(); //ban ghi sửa đã bị xóa return(Json(new { sussess = ret }, JsonRequestBehavior.AllowGet)); } //hết kiểm tra tồn tại bản ghi int quantiti; if (obj.TRUEANSWER == 0 && objTemp.TRUEANSWER == 1) { quantiti = 0; } else { quantiti = 1; } objTemp.CODEVIEW = obj.CODEVIEW; objTemp.NAME = obj.NAME; objTemp.CONTENTIMG = obj.CONTENTIMG; objTemp.CONTENT = obj.CONTENT; objTemp.QUESTIONGROUPCODE = obj.QUESTIONGROUPCODE; objTemp.THEORDER = obj.THEORDER; objTemp.TRUEANSWER = obj.TRUEANSWER; // obj_temp.THEORDER = obj.THEORDER; //Kiểm tra tình trạng sửa hay là thêm mới if (string.IsNullOrEmpty(obj.CODE)) { //Thêm mới add = 1; //Chỉ gán lại khi thêm mới objTemp.QUESTIONCODE = obj.QUESTIONCODE; //Sinh mã objTemp.CODE = bus.genNextCode(obj); } if (add == 1) { ret = bus.insert(objTemp); } else { //gán _ID để xác định bản ghi sẽ được cập nhật objTemp._ID.CODE = obj.CODE; ret = bus.update(objTemp); } int pagecount = 0; int currentpage = 0; var answercode = objTemp.TRUEANSWER == 1 ? objTemp.CODE : ""; bus.CloseConnection(); //some thing like that return(Json(new { quantiti, answercode, ret, pagecount, currentpage }, JsonRequestBehavior.AllowGet)); }