Blog.Core/Blog.Core.Repository/RoleModulePermissionRepository.cs

55 lines
1.7 KiB
C#
Raw Normal View History

using Blog.Core.Repository.Base;
2018-12-18 19:26:37 +08:00
using Blog.Core.Model.Models;
using Blog.Core.IRepository;
2019-01-22 00:10:51 +08:00
using System.Collections.Generic;
using System.Threading.Tasks;
using SqlSugar;
using Blog.Core.IRepository.UnitOfWork;
2018-12-18 19:26:37 +08:00
namespace Blog.Core.Repository
2019-01-22 00:10:51 +08:00
{
/// <summary>
/// RoleModulePermissionRepository
/// </summary>
public class RoleModulePermissionRepository : BaseRepository<RoleModulePermission>, IRoleModulePermissionRepository
2018-12-18 19:26:37 +08:00
{
public RoleModulePermissionRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
{
}
2018-12-18 19:26:37 +08:00
2019-01-22 00:10:51 +08:00
public async Task<List<RoleModulePermission>> WithChildrenModel()
{
2019-02-25 17:05:10 +08:00
var list = await Task.Run(() => Db.Queryable<RoleModulePermission>()
.Mapper(it => it.Role, it => it.RoleId)
.Mapper(it => it.Permission, it => it.PermissionId)
.Mapper(it => it.Module, it => it.ModuleId).ToList());
2019-01-22 00:10:51 +08:00
2019-02-23 22:04:21 +08:00
return null;
2019-01-22 00:10:51 +08:00
}
public async Task<List<TestMuchTableResult>> QueryMuchTable()
{
return await QueryMuch<RoleModulePermission, Module, Permission, TestMuchTableResult>(
(rmp, m, p) => new object[] {
JoinType.Left, rmp.ModuleId == m.Id,
JoinType.Left, rmp.PermissionId == p.Id
},
(rmp, m, p) => new TestMuchTableResult()
{
moduleName = m.Name,
permName = p.Name,
rid = rmp.RoleId,
mid = rmp.ModuleId,
pid = rmp.PermissionId
},
(rmp, m, p) => rmp.IsDeleted == false
);
}
2018-12-18 19:26:37 +08:00
}
2018-12-18 19:26:37 +08:00
}