using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using FAuth.DataBase.Tables; using FAuth.Extensions; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; namespace FAuth.Controllers.api { /// /// 角色用户绑定控制器 /// public class Role_UserController:ApiControllerBase { public Role_UserController(ILogger logger,IServiceProvider service) : base(logger,service) { } /// /// 绑定指定角色和用户 /// /// 角色编号 /// 用户编号 /// 是否成功 [HttpPost] public bool Binding(int roleId,int userId) { var rQu = this.Db.Roles.Where(m => m.Id == roleId); if(!rQu.Any()) { throw new ApiException("没有找到指定的角色"); } var uQu = this.Db.Users.Where(m => m.Id == userId); if(!uQu.Any()) { throw new ApiException("没有找到指定的用户"); } var ruQu = this.Db.Role_Users.Where(m => m.RoleId == roleId && m.UserId == userId); if(!ruQu.Any()) { var model = new Role_User { RoleId = roleId, UserId = userId, }; this.Db.Entry(model).State = EntityState.Added; this.Db.SaveChangesAsync().Wait(); } return true; } /// /// 解除指定应用和角色组绑定 /// /// /// /// 解绑是否成功 [HttpPost] public bool Unbind(int roleId,int userId) { var rQu = this.Db.Roles.Where(m => m.Id == roleId); if(!rQu.Any()) { throw new ApiException("没有找到指定的角色"); } var uQu = this.Db.Users.Where(m => m.Id == userId); if(!uQu.Any()) { throw new ApiException("没有找到指定的用户"); } var ruQu = this.Db.Role_Users.Where(m => m.RoleId == roleId && m.UserId == userId); if(ruQu.Any()) { foreach(var item in ruQu) { this.Db.Entry(item).State = EntityState.Deleted; } this.Db.SaveChangesAsync().Wait(); } return true; } } }