using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Dapper; using FineAdmin.Common; using FineAdmin.IRepository; using FineAdmin.Model; namespace FineAdmin.Repository { public class ButtonRepository : BaseRepository, IButtonRepository { /// /// 根据角色菜单按钮位置获得按钮列表 /// /// /// /// /// public IEnumerable GetButtonListByRoleIdModuleId(int roleId, int moduleId, PositionEnum position) { using (var conn = OracleHelper.OracleConnection()) { string sql = @"SELECT b.* FROM dbsys_roleauthorize a INNER JOIN dbsys_button b ON a.ButtonId=b.Id WHERE a.RoleId=:RoleId and a.ModuleId=:ModuleId and b.Location=:Location ORDER BY b.SortCode"; return conn.Query(sql, new { RoleId = roleId, ModuleId = moduleId, Location = (int)position }); } } /// /// 根据角色菜单获得按钮列表 /// /// /// /// /// public IEnumerable GetButtonListByRoleIdModuleId(int roleId, int moduleId, out IEnumerable selectList) { using (var conn = OracleHelper.OracleConnection()) { StringBuilder sb = new StringBuilder(); sb.AppendLine(@"SELECT Id,FullName FROM dbsys_button a INNER JOIN dbsys_roleauthorize b ON a.Id = b.ButtonId WHERE b.RoleId = :RoleId and b.ModuleId = :ModuleId"); using (var reader = conn.QueryMultiple(sb.ToString(), new { RoleId = roleId, ModuleId = moduleId })) { selectList = reader.Read(); } StringBuilder sb2 = new StringBuilder(); sb2.Append(@"SELECT Id, FullName FROM dbsys_button"); using (var reader = conn.QueryMultiple(sb2.ToString())) { return reader.Read(); } } } } }