Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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
            });
        }