/// <summary> /// 从应用移除用户组 /// </summary> /// <param name="id"></param> /// <param name="gids"></param> /// <returns></returns> public ActionResult RemoveUserGroups(int id, string gids) { string[] ids = gids.Split(','); ClientApp app = ClientAppBll.GetById(id); if (app is null) { return(ResultData(null, false, "未找到应用!")); } List <UserGroup> groups = UserGroupBll.LoadEntities(u => ids.Contains(u.Id.ToString())).ToList(); groups.ForEach(u => { app.UserGroup.Remove(u); }); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "移除用户组成功!" : "移除用户组失败!")); }
/// <summary> /// 添加角色 /// </summary> /// <returns></returns> public ActionResult AddRoles(int id, string rids) { string[] ids = rids.Split(','); ClientApp app = ClientAppBll.GetById(id); if (app is null) { return(ResultData(null, false, "未找到应用!")); } List <Role> roles = RoleBll.LoadEntities(u => ids.Contains(u.Id.ToString())).ToList(); roles.ForEach(u => { app.Roles.Add(u); }); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "添加角色成功!" : "添加角色失败!")); }
/// <summary> /// 分配给客户端子系统 /// </summary> /// <param name="id"></param> /// <param name="aids"></param> /// <returns></returns> public ActionResult AddApps(Guid id, string aids) { string[] ids = aids.Split(','); UserInfo user = UserInfoBll.GetById(id); if (user is null) { return(ResultData(null, false, "未找到用户!")); } List <ClientApp> apps = ClientAppBll.LoadEntities(a => ids.Contains(a.Id.ToString())).ToList(); apps.ForEach(a => user.ClientApp.Add(a)); bool b = UserInfoBll.UpdateEntitySaved(user); return(ResultData(null, b, b ? "分配给客户端子系统完成!" : "分配给客户端子系统失败!")); }
/// <summary> /// 添加用户 /// </summary> /// <returns></returns> public ActionResult AddUsers(int id, string uids) { string[] ids = uids.Split(','); ClientApp app = ClientAppBll.GetById(id); if (app is null) { return(ResultData(null, false, "未找到应用!")); } List <UserInfo> users = UserInfoBll.LoadEntities(u => ids.Contains(u.Id.ToString())).ToList(); users.ForEach(u => { app.UserInfo.Add(u); }); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "添加用户成功!" : "添加用户失败")); }
/// <summary> /// 移除客户端子系统应用 /// </summary> /// <param name="id">权限id</param> /// <param name="aids">应用id集合</param> /// <returns></returns> public ActionResult RemoveApps(int id, string aids) { string[] ids = aids.Split(','); Permission permission = PermissionBll.GetById(id); if (permission is null) { return(ResultData(null, false, "未找到相应的权限信息!")); } List <ClientApp> apps = ClientAppBll.LoadEntities(a => ids.Contains(a.Id.ToString())).ToList(); apps.ForEach(a => permission.ClientApp.Remove(a)); bool b = PermissionBll.UpdateEntitySaved(permission); return(ResultData(null, b, b ? "权限配置完成!" : "权限配置失败!")); }
/// <summary> /// 从应用移除用户 /// </summary> /// <param name="id"></param> /// <param name="aids"></param> /// <returns></returns> public ActionResult RemoveApps(int id, string aids) { string[] ids = aids.Split(','); UserGroup @group = UserGroupBll.GetById(id); if (@group is null) { return(ResultData(null, false, "未找到用户组!")); } List <ClientApp> users = ClientAppBll.LoadEntities(u => ids.Contains(u.Id.ToString())).ToList(); users.ForEach(u => { @group.ClientApp.Remove(u); }); bool b = UserGroupBll.UpdateEntitySaved(@group); return(ResultData(null, b, b ? "移除客户端子系统成功!" : "移除客户端子系统失败!")); }
/// <summary> /// 删除应用程序 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Delete(int id) { ClientApp app = ClientAppBll.GetById(id); if (app is null) { return(ResultData(null, false, "应用不存在!")); } if (app.Preset) { return(ResultData(null, false, "预置应用不能被删除!")); } bool b = ClientAppBll.DeleteEntitySaved(a => a.Id.Equals(id) && !a.Preset) > 0; return(ResultData(null, b, b ? "应用删除成功!" : "应用删除失败!")); }
/// <summary> /// 修改子系统信息 /// </summary> /// <param name="id"></param> /// <param name="name">新名字</param> /// <returns></returns> public ActionResult Update(int id, string name) { ClientApp app = ClientAppBll.GetById(id); if (app != null) { if (ClientAppBll.Any(a => a.AppName.Equals(name) && !a.AppName.Equals(app.AppName))) { return(ResultData(null, false, $"{name} 应用已经存在!")); } app.AppName = name; bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "修改成功" : "修改失败!")); } return(ResultData(null, false, "未找到该应用程序!")); }
/// <summary> /// 切换应用的可用状态 /// </summary> /// <param name="id">应用id</param> /// <param name="state">可用状态</param> /// <returns></returns> public ActionResult ToggleState(int id, bool state) { ClientApp app = ClientAppBll.GetById(id); if (app is null) { return(ResultData(null, false, "应用不存在!")); } if (app.Preset) { return(ResultData(null, false, "预置应用的状态不能修改!")); } app.Available = !state; bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "状态切换成功!" : "状态切换失败!")); }
/// <summary> /// 获取角色归属的所有应用 /// </summary> /// <param name="id"></param> /// <param name="page"></param> /// <param name="size"></param> /// <param name="kw"></param> /// <returns></returns> public ActionResult MyApps(int id, int page = 1, int size = 10, string kw = "") { Expression <Func <ClientApp, bool> > where; Expression <Func <ClientApp, bool> > where2; if (!string.IsNullOrEmpty(kw)) { where = u => u.Roles.All(c => c.Id != id) && (u.AppName.Contains(kw) || u.AppId.Contains(kw)); where2 = u => u.Roles.Any(c => c.Id == id) && (u.AppName.Contains(kw) || u.AppId.Contains(kw)); } else { where = u => u.Roles.All(c => c.Id != id); where2 = u => u.Roles.Any(c => c.Id == id); } List <ClientAppOutputDto> not = ClientAppBll.LoadPageEntities <string, ClientAppOutputDto>(page, size, out int total1, where, u => u.AppName, false).ToList(); //不属于该角色 List <ClientAppOutputDto> my = ClientAppBll.LoadPageEntities <string, ClientAppOutputDto>(page, size, out int total2, where2, u => u.AppName, false).ToList(); //属于该角色 return(PageResult(new { my, not }, size, total1 >= total2 ? total1 : total2)); }
/// <summary> /// 添加客户端子系统 /// </summary> /// <param name="name">子系统名字</param> /// <returns></returns> public ActionResult Add(string name, string domain) { if (ClientAppBll.Any(a => a.AppName.Equals(name))) { return(ResultData(null, false, $"{name} 应用已经存在!")); } string appid = Guid.NewGuid().ToString().MDString(); ClientApp app = new ClientApp() { AppName = name, Domain = domain, AppId = appid, AppSecret = appid.MDString(ConfigurationManager.AppSettings["BaiduAK"]) }; app = ClientAppBll.AddEntitySaved(app); if (app != null) { return(ResultData(app, true, "应用程序添加成功!")); } return(ResultData(null, false, "应用程序添加失败!")); }
/// <summary> /// 添加或修改角色 /// </summary> /// <param name="Id"></param> /// <param name="RoleName">新名字</param> /// <param name="ParentId">父级组</param> /// <param name="appid">appid</param> /// <returns></returns> public ActionResult Save(int Id = 0, string RoleName = "", int?ParentId = null, string appid = "") { ParentId = ParentId == 0 ? null : ParentId; Role role = RoleBll.GetById(Id); if (role != null) { //修改 if (RoleBll.Any(a => a.RoleName.Equals(RoleName) && !a.RoleName.Equals(role.RoleName))) { return(ResultData(null, false, $"{RoleName} 角色已经存在!")); } role.RoleName = RoleName; role.ParentId = ParentId; bool b = RoleBll.UpdateEntitySaved(role); return(ResultData(null, b, b ? "修改成功" : "修改失败!")); } //添加 if (RoleBll.Any(a => a.RoleName.Equals(RoleName))) { return(ResultData(null, false, $"{RoleName} 角色已经存在!")); } role = new Role() { RoleName = RoleName, ParentId = ParentId }; if (!string.IsNullOrEmpty(appid) && ClientAppBll.Any(a => a.AppId.Equals(appid))) { var app = ClientAppBll.GetFirstEntity(a => a.AppId.Equals(appid)); app.Roles.Add(role); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "角色添加成功!" : "角色添加失败!")); } role = RoleBll.AddEntitySaved(role); return(role != null?ResultData(role, true, "角色添加成功!") : ResultData(null, false, "角色添加失败!")); }
/// <summary> /// 添加或修改权限 /// </summary> /// <param name="Id"></param> /// <param name="PermissionName">新名字</param> /// <param name="ParentId">父级组</param> /// <param name="appid"></param> /// <returns></returns> public ActionResult Save(int Id = 0, string PermissionName = "", int?ParentId = null, string appid = "") { ParentId = ParentId == 0 ? null : ParentId; Permission permission = PermissionBll.GetById(Id); if (permission != null) { //修改 if (PermissionBll.Any(a => a.PermissionName.Equals(PermissionName) && !a.PermissionName.Equals(permission.PermissionName))) { return(ResultData(null, false, $"{PermissionName} 权限已经存在!")); } permission.PermissionName = PermissionName; permission.ParentId = ParentId; bool b = PermissionBll.UpdateEntitySaved(permission); return(ResultData(null, b, b ? "修改成功" : "修改失败!")); } //添加 if (PermissionBll.Any(a => a.PermissionName.Equals(PermissionName))) { return(ResultData(null, false, $"{PermissionName} 权限已经存在!")); } permission = new Permission { PermissionName = PermissionName, ParentId = ParentId }; if (!string.IsNullOrEmpty(appid) && ClientAppBll.Any(a => a.AppId.Equals(appid))) { var app = ClientAppBll.GetFirstEntity(a => a.AppId.Equals(appid)); app.Permissions.Add(permission); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(null, b, b ? "权限添加成功!" : "权限添加失败!")); } permission = PermissionBll.AddEntitySaved(permission); return(permission != null?ResultData(permission, true, "权限添加成功!") : ResultData(null, false, "权限添加失败!")); }
/// <summary> /// 获取所有的子系统 /// </summary> /// <returns></returns> public ActionResult GetAll() { List <ClientAppOutputDto> apps = ClientAppBll.GetAllNoTracking <ClientAppOutputDto>().ToList(); return(ResultData(apps)); }
/// <summary> /// 获取应用详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Get(int id) { ClientAppOutputDto app = ClientAppBll.GetById(id).Mapper <ClientAppOutputDto>(); return(ResultData(app)); }