using System; using System.Linq; using FAuth.DataBase.Tables; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; namespace FAuth.Controllers.api { /// /// 角色组角色对应 /// public class RoleGroup_RoleController:ApiControllerBase { public RoleGroup_RoleController(ILogger logger,IServiceProvider service) : base(logger,service) { } /// /// 绑定角色组和角色 /// /// 角色组编号 /// 角色组 /// 是否成功 [HttpPost] public bool Binding(int roleGroupId,int roleId) { var rgQu = this.Db.RoleGroups.Where(m => m.Id == roleGroupId); if(!rgQu.Any()) { throw new Exception("没有找到指定的角色组"); } var rQu = this.Db.Roles.Where(m => m.Id == roleId); if(!rQu.Any()) { throw new Exception("没有找到指定的角色"); } var rgr = this.Db.RoleGroup_Roles.Where(m => m.RoleGroupId == roleGroupId && m.RoleId == roleId); if(!rgr.Any()) { this.Db.RoleGroup_Roles.Add(new RoleGroup_Role { RoleGroupId = roleGroupId, RoleId = roleId, }); this.Db.SaveChangesAsync().Wait(); } return true; } /// /// 角色组角色解除绑定 /// /// 角色组编号 /// 角色编号 /// 是否成功 [HttpPost] public bool Unbind(int roleGroupId,int roleId) { var rgQu = this.Db.RoleGroups.Where(m => m.Id == roleGroupId); if(!rgQu.Any()) { throw new Exception("没有找到指定的角色组"); } var rQu = this.Db.Roles.Where(m => m.Id == roleId); if(!rQu.Any()) { throw new Exception("没有找到指定的角色"); } var rgr = this.Db.RoleGroup_Roles.Where(m => m.RoleGroupId == roleGroupId && m.RoleId == roleId); if(rgr.Any()) { foreach(var item in rgr) { this.Db.Entry(item).State = EntityState.Deleted; } this.Db.SaveChangesAsync().Wait(); } return true; } } }