/// <summary>
        /// 加载分页数据
        /// </summary>
        /// <param name="appid">appid</param>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        public ActionResult PageData(string appid, int page = 1, int size = 10)
        {
            var where = string.IsNullOrEmpty(appid) ? (Expression <Func <Control, bool> >)(c => true) : (c => c.ClientApp.AppId.Equals(appid));
            List <ControlOutputDto> list = ControlBll.LoadPageEntitiesNoTracking <int, ControlOutputDto>(page, size, out int total, where, c => c.Id, false).ToList();

            return(PageResult(list, size, total));
        }
        /// <summary>
        /// 更新功能
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Update(ControlInputDto model)
        {
            if (ModelState.IsValid)
            {
                Control control = ControlBll.GetById(model.Id);
                Mapper.Map(model, control);
                bool b = ControlBll.UpdateEntitySaved(control);
                return(ResultData(null, b, b ? "更新成功!" : "更新失败!"));
            }

            return(ResultData(null, false, "数据校验失败!"));
        }
        /// <summary>
        /// 移除权限
        /// </summary>
        /// <param name="id">功能id</param>
        /// <param name="pid">权限id</param>
        /// <returns></returns>
        public ActionResult RemovePermission(int id, int pid)
        {
            Control    control    = ControlBll.GetById(id);
            Permission permission = PermissionBll.GetById(pid);

            if (control != null && permission != null)
            {
                control.Permission.Remove(permission);
                bool b = ControlBll.UpdateEntitySaved(control);
                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)
        {
            Control control = ControlBll.GetById(id);

            if (control is null)
            {
                return(ResultData(null, false, "功能控制器不存在!"));
            }

            control.IsAvailable = !state;
            bool b = ControlBll.UpdateEntitySaved(control);

            return(ResultData(null, b, b ? "状态切换成功!" : "状态切换失败!"));
        }
        /// <summary>
        /// 添加功能
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Add(ControlInputDto model)
        {
            if (ModelState.IsValid)
            {
                Control control = model.Mapper <Control>();
                control = ControlBll.AddEntitySaved(control);
                if (control != null)
                {
                    return(ResultData(null, true, "功能添加成功!"));
                }

                return(ResultData(null, false, "功能添加失败"));
            }

            return(ResultData(null, false, "数据校验失败!"));
        }
예제 #6
0
        /// <summary>
        /// 移除控制功能
        /// </summary>
        /// <param name="id">权限id</param>
        /// <param name="cids">控制器id集合</param>
        /// <returns></returns>
        public ActionResult RemoveControls(int id, string cids)
        {
            string[]   ids        = cids.Split(',');
            Permission permission = PermissionBll.GetById(id);

            if (permission is null)
            {
                return(ResultData(null, false, "未找到相应的权限信息!"));
            }

            List <Control> controls = ControlBll.LoadEntities(c => ids.Contains(c.Id.ToString())).ToList();

            controls.ForEach(c => permission.Controls.Remove(c));
            bool b = PermissionBll.UpdateEntitySaved(permission);

            return(ResultData(null, b, b ? "权限配置完成!" : "权限配置失败!"));
        }
예제 #7
0
        /// <summary>
        /// 获取该权限的控制器
        /// </summary>
        /// <param name="id"></param>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <param name="kw"></param>
        /// <returns></returns>
        public ActionResult MyControls(int id, int page = 1, int size = 10, string kw = "")
        {
            Expression <Func <Control, bool> > where;
            Expression <Func <Control, bool> > where2;

            if (!string.IsNullOrEmpty(kw))
            {
                where  = u => u.Permission.All(c => c.Id != id) && u.Name.Contains(kw);
                where2 = u => u.Permission.Any(c => c.Id == id) && u.Name.Contains(kw);
            }
            else
            {
                where  = u => u.Permission.All(c => c.Id != id);
                where2 = u => u.Permission.Any(c => c.Id == id);
            }

            List <ControlOutputDto> not = ControlBll.LoadPageEntities <int, ControlOutputDto>(page, size, out int total1, where, u => u.Id, false).ToList();  //不属于该应用
            List <ControlOutputDto> my  = ControlBll.LoadPageEntities <int, ControlOutputDto>(page, size, out int total2, where2, u => u.Id, false).ToList(); //属于该应用

            return(PageResult(new { my, not }, size, total1 >= total2 ? total1 : total2));
        }
        /// <summary>
        /// 获取功能详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Get(int id)
        {
            ControlOutputDto c = ControlBll.GetById(id).Mapper <ControlOutputDto>();

            return(ResultData(c));
        }
        /// <summary>
        /// 删除功能
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Delete(int id)
        {
            bool b = ControlBll.DeleteByIdSaved(id);

            return(ResultData(null, b, b ? "删除成功!" : "删除失败!"));
        }