public JsonResult update(SYSMENU_OBJ obj) { List <string> li_ref = new List <string>(); // danh sach file sẽ được thêm vào List <string> li_refd = new List <string>(); // sanh sách file bị xoá đi //if (ses.func("SUPADMIN") <= 0) //{ // return Json(new { sussess = -3 }, JsonRequestBehavior.AllowGet); //} SYSMENU_BUS bus = new SYSMENU_BUS(); int ret = 0; int add = 0; SYSMENU_OBJ obj_temp = null; //kiểm tra tồn tại cho trường hợp sửa if (!string.IsNullOrEmpty(obj.CODE))//edit { obj_temp = bus.GetByID(new SYSMENU_OBJ.BusinessObjectID(obj.CODE)); if (obj_temp == null || obj_temp.UNIVERSITYCODE != ses.gUNIVERSITYCODE) { ret = -4; } } else { obj_temp = new SYSMENU_OBJ(); obj_temp.UNIVERSITYCODE = ses.gUNIVERSITYCODE; } 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 obj_temp.EDITTIME = DateTime.Now; //Thời điểm sủa bản ghi obj_temp.EDITUSER = ses.loginCode; //Người sửa bản ghi obj_temp.CODEVIEW = obj.CODEVIEW; obj_temp.NAME = obj.NAME; obj_temp.NOTE = obj.NOTE; obj_temp.THEORDER = obj.THEORDER; obj_temp.PARENTCODE = obj.PARENTCODE; obj_temp.LINK = obj.LINK; obj_temp.ICON = obj.ICON; obj_temp.PRIORITYCODE = obj.PRIORITYCODE; obj_temp.LOCK = obj.LOCK; obj_temp.THETYPE = obj.THETYPE; if (obj_temp.PARENTCODE == null) { obj_temp.PARENTCODE = ""; } //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ã obj_temp.CODE = bus.genNextCode(obj); obj_temp.LOCK = 0; obj_temp.LOCKDATE = DateTime.Now; //obj_temp.MODULECODE = "CORE";//for this } if (string.IsNullOrEmpty(obj.EXTENSIONCODE)) { obj_temp.EXTENSIONCODE = obj_temp.CODE; } else { obj_temp.EXTENSIONCODE = obj.EXTENSIONCODE + "." + obj_temp.CODE; } int pm = 0; List <SYSMENUPRIORITY_OBJ> lipri = null; if (!string.IsNullOrEmpty(obj.PRIORITYCODE)) { string[] pris = obj.PRIORITYCODE.Split(','); lipri = new List <SYSMENUPRIORITY_OBJ>(); foreach (string item in pris) { pm = 1; SYSMENUPRIORITY_OBJ objpri = new SYSMENUPRIORITY_OBJ(); objpri.LOCK = 0; objpri.LOCKDATE = DateTime.Now; objpri.PRIORITYCODE = item; objpri.SYSMENUCODE = obj_temp.CODE; lipri.Add(objpri); } } SYSMENUPRIORITY_BUS bus_pri = new SYSMENUPRIORITY_BUS(); bus.BeginTransaction(); bus_pri.setConnection(bus); if (add == 1) { ret = bus.insert(obj_temp); } else { //gán _ID để xác định bản ghi sẽ được cập nhật obj_temp._ID.CODE = obj.CODE; ret = bus.update(obj_temp); } if (ret >= 0) { ret = bus_pri.Delete(new fieldpara("SYSMENUCODE", obj_temp.CODE)); } if (pm == 1) { if (ret >= 0) { ret = bus_pri.insert(lipri.ToArray()); } } //if (ret >= 0) //{ // //ghi nhan file đã được cập nhật mới // ret = comto.RefFile(li_ref, li_refd, "SYSMENU", obj_temp.CODE, bus.getConnectionInfo()); //} if (ret >= 0) { bus.CommitTransaction(); } else { bus.RollbackTransaction(); } bus.CloseConnection(); //some thing like that return(Json(new { ret = ret, CODE = obj_temp.CODE }, JsonRequestBehavior.AllowGet)); }