Blog.Core/Blog.Core.Services/RoleModulePermissionServices.cs

77 lines
2.7 KiB
C#
Raw Normal View History

2018-12-18 19:26:37 +08:00
using Blog.Core.Services.BASE;
using Blog.Core.Model.Models;
using Blog.Core.IServices;
using Blog.Core.IRepository;
using System.Threading.Tasks;
using System.Collections.Generic;
using Blog.Core.Common;
2019-05-05 18:19:47 +08:00
using System.Linq;
2018-12-18 19:26:37 +08:00
namespace Blog.Core.Services
{
/// <summary>
/// RoleModulePermissionServices 应用服务
/// </summary>
public class RoleModulePermissionServices : BaseServices<RoleModulePermission>, IRoleModulePermissionServices
{
2019-03-25 13:32:52 +08:00
readonly IRoleModulePermissionRepository _dal;
readonly IModuleRepository _moduleRepository;
readonly IRoleRepository _roleRepository;
2018-12-18 19:26:37 +08:00
// 将多个仓储接口注入
public RoleModulePermissionServices(IRoleModulePermissionRepository dal, IModuleRepository moduleRepository, IRoleRepository roleRepository)
{
2019-03-25 13:32:52 +08:00
this._dal = dal;
this._moduleRepository = moduleRepository;
this._roleRepository = roleRepository;
base.BaseDal = dal;
2018-12-18 19:26:37 +08:00
}
/// <summary>
/// 获取全部 角色接口(按钮)关系数据
/// </summary>
/// <returns></returns>
[Caching(AbsoluteExpiration = 10)]
public async Task<List<RoleModulePermission>> GetRoleModule()
2018-12-18 19:26:37 +08:00
{
2019-03-25 11:11:17 +08:00
var roleModulePermissions = await base.Query(a => a.IsDeleted == false);
2019-05-05 18:19:47 +08:00
var roles = await _roleRepository.Query(a => a.IsDeleted == false);
var modules = await _moduleRepository.Query(a => a.IsDeleted == false);
//var roleModulePermissionsAsync = base.Query(a => a.IsDeleted == false);
//var rolesAsync = _roleRepository.Query(a => a.IsDeleted == false);
//var modulesAsync = _moduleRepository.Query(a => a.IsDeleted == false);
//var roleModulePermissions = await roleModulePermissionsAsync;
//var roles = await rolesAsync;
//var modules = await modulesAsync;
2018-12-18 19:26:37 +08:00
if (roleModulePermissions.Count > 0)
{
foreach (var item in roleModulePermissions)
{
2019-05-05 18:19:47 +08:00
item.Role = roles.FirstOrDefault(d => d.Id == item.RoleId);
item.Module = modules.FirstOrDefault(d => d.Id == item.ModuleId);
2018-12-18 19:26:37 +08:00
}
}
return roleModulePermissions;
}
2019-01-22 00:10:51 +08:00
public async Task<List<RoleModulePermission>> TestModelWithChildren()
{
2019-03-25 13:32:52 +08:00
return await _dal.WithChildrenModel();
2019-01-22 00:10:51 +08:00
}
public async Task<List<TestMuchTableResult>> QueryMuchTable()
{
return await _dal.QueryMuchTable();
}
public async Task<List<RoleModulePermission>> RoleModuleMaps()
{
return await _dal.RoleModuleMaps();
}
2018-12-18 19:26:37 +08:00
}
}