public HttpResponseMessage SaveRole(string roleJson, string contextJson, string rightJson) { AdmRoleContract roleDTO = new AdmRoleContract(); roleDTO = JsonConvert.DeserializeObject <AdmRoleContract>(roleJson); string[] selectedContexts = JsonConvert.DeserializeObject <string[]>(contextJson); string[] rightIds = JsonConvert.DeserializeObject <string[]>(rightJson); string roleId = ""; string errMessage = string.Empty; SqlTransaction tran = DataProvider.beginTrans(); try { businessRule.RegistInstants(roleDTO); if (roleDTO.Id > 0) { roleId = roleDT.Update(roleDTO, tran); } else { businessRule.RegistRule("Insert"); if (businessRule.CheckRules(out errMessage)) { roleId = roleDT.Insert(roleDTO, tran); } else { return(handleBRFailed(errMessage, tran)); } } deleteContext(roleDTO.Id.ToString(), tran); foreach (string contextId in selectedContexts) { AdmRolecontextContract roleCtxDTO = new AdmRolecontextContract(); roleCtxDTO.Roleid = Converter.ToInt32(roleId); roleCtxDTO.Contextid = Converter.ToInt32(contextId); roleCtxDTO.Permission = "1"; roleCtx.Insert(roleCtxDTO, tran); } deleteRight(roleDTO.Id.ToString(), tran); foreach (string rightId in rightIds) { AdmRolerightContract roleRightDTO = new AdmRolerightContract(); roleRightDTO.Roleid = Converter.ToInt32(roleId); roleRightDTO.Rightid = Converter.ToInt32(rightId); roleRightDT.Insert(roleRightDTO, tran); } DataProvider.CommitTrans(tran); UpdateUserSitemap(roleDTO.Id.ToString()); } catch (Exception e) { DataProvider.RollbackTrans(tran); } finally { tran.Dispose(); } return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage != string.Empty ? errMessage : roleId)); }
/// <summary> /// Cập nhật thông tin đối tượng /// </summary> /// <param name="menu"></param> /// <param name="tran"></param> /// <returns></returns> public string Update(AdmRolerightContract admroleright, SqlTransaction tran = null) { string query = String.Format("UPDATE " + TableName + @" SET RoleID={0},RightID={1} WHERE ID=" + admroleright.Id.ToString(), (admroleright.Roleid != null? admroleright.Roleid.ToString() : "null").ToString(), (admroleright.Rightid != null? admroleright.Rightid.ToString() : "null").ToString()); if (tran == null) { DataProvider.ExecuteNonQuery(query); } else { DataProvider.ExecuteNonQueryWithTransaction(query, tran); } return(admroleright.Id.ToString()); }
/// <summary> /// Insert đối tượng vào database /// </summary> /// <param name="menu"></param> /// <returns></returns> public string Insert(AdmRolerightContract admroleright, SqlTransaction tran = null) { DataTable dtResult = null; string query = string.Format(@"INSERT INTO Adm_RoleRight VALUES ({0},{1})", (admroleright.Roleid != null? admroleright.Roleid.ToString() : "null").ToString(), (admroleright.Rightid != null? admroleright.Rightid.ToString() : "null").ToString()); query += " ; select SCOPE_IDENTITY();"; if (tran == null) { dtResult = DataProvider.ExecuteQuery(query); } else { dtResult = DataProvider.ExecuteQueryWithTransaction(query, tran); } if (dtResult != null && dtResult.Rows.Count > 0) { return(dtResult.Rows[0][0].ToString()); } return(""); }