public InvokeResult SaveGroupPermission(string groupId, IList <string> resourceIds) { InvokeResult result = new InvokeResult { Success = true }; try { List <IBatisNetBatchStatement> statements = new List <IBatisNetBatchStatement>(); GroupPermit gp = new GroupPermit(); gp.GroupId = groupId.ToGuid(); statements.Add(new IBatisNetBatchStatement { StatementName = gp.GetDeleteMethodName(), ParameterObject = gp.ToStringObjectDictionary(false), Type = SqlExecuteType.DELETE }); gp.OperatedOn = DateTime.Now; gp.OperatedBy = NormalSession.UserId.ToGuid(); foreach (var resourceId in resourceIds) { gp.ResourceId = resourceId; statements.Add(new IBatisNetBatchStatement { StatementName = gp.GetCreateMethodName(), ParameterObject = gp.ToStringObjectDictionary(false), Type = SqlExecuteType.INSERT }); } BuilderFactory.DefaultBulder(GlobalManager.getConnectString(GetHttpHeader(GlobalManager.ConnectIdKey))).ExecuteNativeSqlNoneQuery(statements); } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
private void DeleteCascade(List <IBatisNetBatchStatement> statements, GroupPK pk) { //此处增加级联删除代码 //删除组成员关系 GroupMember gm = new GroupMember { GroupId = pk.GroupId }; statements.Add(new IBatisNetBatchStatement { StatementName = gm.GetDeleteMethodName(), ParameterObject = gm.ToStringObjectDictionary(false), Type = SqlExecuteType.DELETE }); //删除组权限 GroupPermit gp = new GroupPermit { GroupId = pk.GroupId }; statements.Add(new IBatisNetBatchStatement { StatementName = gp.GetDeleteMethodName(), ParameterObject = gp.ToStringObjectDictionary(false), Type = SqlExecuteType.DELETE }); }