public IEnumerable <SysButton> GetButtons(string menuId)
        {
            var p = new DynamicParameters();

            p.Add(Constant.ColumnSysButtonMenuId, menuId.Trim());
            return(ButtonRepository.GetListByTable <SysButton>(Constant.TableSysButton,
                                                               "SysId,MenuId,BtnName,BtnIcon,BtnOrder,BtnFunction,IsVisible,RecordStatus",
                                                               string.Format("{1}={0}{1}",
                                                                             Constant.SqlReplaceParameterPrefix,
                                                                             Constant.ColumnSysButtonMenuId), p));
            // return ButtonRepository.GetList("", string.Format("{0}='{1}'", Constant.ColumnSysButtonMenuId, menuId));
        }
        public override int Delete(string sysId)
        {
            //删除菜单时,删除按钮,同时要删除该菜单下的按钮权限
            using (var connection = Connection)
            {
                using (var tran = connection.BeginTransaction(IsolationLevel.ReadCommitted))
                {
                    int result = 0;
                    //等于0是考虑有些表并没有相关的数据,如权限表有可能没有用户SysId数据。

                    //删除该菜单对应的权限
                    if (
                        (result += PrivilegeRepository.DeleteSysPrivilegeByAccess(sysId, (int)PrivilegeAccess.Menu, tran))
                        >= 0)
                    {
                        //删除该菜单下的按钮对应的权限
                        if (
                            (result +=
                                 PrivilegeRepository.DeleteByWhere(
                                     string.Format(
                                         "PrivilegeAccessKey in (select SysId from Sys_Button where MenuId = '{0}') and PrivilegeAccess = '{1}'",
                                         sysId,
                                         (int)PrivilegeAccess.Button),
                                     tran)) >= 0)
                        {
                            if ((result += ButtonRepository.DeleteByMenuId(sysId, tran)) >= 0)
                            {
                                if ((result += Delete(sysId, tran)) >= 0)
                                {
                                    tran.Commit();
                                    return(result);
                                }
                                tran.Rollback();
                                return(result);
                            }
                            tran.Rollback();
                            return(result);
                        }
                        tran.Rollback();
                        return(result);
                    }
                    tran.Rollback();
                    return(result);
                }
            }
        }