using New_College.Common;
using New_College.IRepository;
using New_College.IRepository.Base;
using New_College.IServices;
using New_College.Model.Models;
using New_College.Services.BASE;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace New_College.Services
{
///
/// RoleModulePermissionServices 应用服务
///
public class RoleModulePermissionServices : BaseServices, IRoleModulePermissionServices
{
readonly IRoleModulePermissionRepository _dal;
readonly IBaseRepository _moduleRepository;
readonly IBaseRepository _roleRepository;
// 将多个仓储接口注入
public RoleModulePermissionServices(
IRoleModulePermissionRepository dal,
IBaseRepository moduleRepository,
IBaseRepository roleRepository)
{
this._dal = dal;
this._moduleRepository = moduleRepository;
this._roleRepository = roleRepository;
base.BaseDal = dal;
}
///
/// 获取全部 角色接口(按钮)关系数据
///
///
[Caching(AbsoluteExpiration = 10)]
public async Task> GetRoleModule()
{
var roleModulePermissions = await base.Query(a => a.IsDeleted == false);
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;
if (roleModulePermissions.Count > 0)
{
foreach (var item in roleModulePermissions)
{
item.Role = roles.FirstOrDefault(d => d.Id == item.RoleId);
item.Module = modules.FirstOrDefault(d => d.Id == item.ModuleId);
}
}
return roleModulePermissions;
}
public async Task> QueryMuchTable()
{
return await _dal.QueryMuchTable();
}
public async Task> RoleModuleMaps()
{
return await _dal.RoleModuleMaps();
}
public async Task> GetRMPMaps()
{
return await _dal.GetRMPMaps();
}
}
}