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); } } }