Example #1
0
        /// <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 ? "移除用户组成功!" : "移除用户组失败!"));
        }
Example #2
0
        /// <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 ? "分配给客户端子系统完成!" : "分配给客户端子系统失败!"));
        }
Example #4
0
        /// <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 ? "添加用户成功!" : "添加用户失败"));
        }
Example #5
0
        /// <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 ? "移除客户端子系统成功!" : "移除客户端子系统失败!"));
        }
Example #7
0
        /// <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 ? "应用删除成功!" : "应用删除失败!"));
        }
Example #8
0
        /// <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, "未找到该应用程序!"));
        }
Example #9
0
        /// <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 ? "状态切换成功!" : "状态切换失败!"));
        }
Example #10
0
        /// <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));
        }
Example #11
0
        /// <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, "应用程序添加失败!"));
        }
Example #12
0
        /// <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, "角色添加失败!"));
        }
Example #13
0
        /// <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, "权限添加失败!"));
        }
Example #14
0
        /// <summary>
        /// 获取所有的子系统
        /// </summary>
        /// <returns></returns>
        public ActionResult GetAll()
        {
            List <ClientAppOutputDto> apps = ClientAppBll.GetAllNoTracking <ClientAppOutputDto>().ToList();

            return(ResultData(apps));
        }
Example #15
0
        /// <summary>
        /// 获取应用详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Get(int id)
        {
            ClientAppOutputDto app = ClientAppBll.GetById(id).Mapper <ClientAppOutputDto>();

            return(ResultData(app));
        }