public JsonRsp <TreeSelect> GetMenuTreeSelect(int roleId) { string menuIds = "0"; if (roleId > 0) { AdminRole role = new AdminRoleBLL().GetModelById(roleId); if (role != null) { menuIds = "," + role.MenuIds + ","; } } JsonRsp <TreeSelect> rsp = new JsonRsp <TreeSelect>(); List <AdminMenu> list = GetAllModelList();//使用OQL扩展 List <TreeSelect> allList = list.ConvertAll <TreeSelect>(o => { return(new TreeSelect() { id = o.ID, value = o.ID, ParentID = o.ParentID, name = o.MenuName, isChecked = menuIds.IndexOf("," + o.ID + ",") > -1, }); } ); rsp.data = getMenuNodes(0, 0, allList); rsp.success = true; rsp.code = 0; return(rsp); }
/// <summary> /// 启用/禁用 /// </summary> /// <param name="accountStatus"></param> /// <returns></returns> public JsonRsp SetStatus(long[] Ids, int status) { List <MenuViewModel> list = new AdminRoleBLL().GetMenuListByAccountId(1, 0).FindAll(o => o.MenuType == 1 && o.ParentID > 0); int index = 99; foreach (var item in list) { AdminMenu menu = new AdminMenu(); menu.ParentID = item.ID; menu.MenuKey = "Add"; menu.MenuName = "添加"; menu.MenuType = 2; menu.MenuUrl = "#"; menu.Remark = item.MenuName + menu.MenuName; menu.Sort = 99; Add <AdminMenu>(menu); menu = new AdminMenu(); menu.ParentID = item.ID; menu.MenuKey = "Edit"; menu.MenuName = "修改"; menu.MenuType = 2; menu.MenuUrl = "#"; menu.Remark = item.MenuName + menu.MenuName; menu.Sort = 98; Add <AdminMenu>(menu); menu = new AdminMenu(); menu.ParentID = item.ID; menu.MenuKey = "Delete"; menu.MenuName = "删除"; menu.MenuType = 2; menu.MenuUrl = "#"; menu.Remark = item.MenuName + menu.MenuName; menu.Sort = 97; Add <AdminMenu>(menu); menu = new AdminMenu(); menu.ParentID = item.ID; menu.MenuKey = "SetEnable"; menu.MenuName = "启用"; menu.MenuType = 2; menu.MenuUrl = "#"; menu.Remark = item.MenuName + menu.MenuName; menu.Sort = 96; Add <AdminMenu>(menu); menu = new AdminMenu(); menu.ParentID = item.ID; menu.MenuKey = "SetUnable"; menu.MenuName = "禁用"; menu.MenuType = 2; menu.MenuUrl = "#"; menu.Remark = item.MenuName + menu.MenuName; menu.Sort = 95; Add <AdminMenu>(menu); } if (Ids == null) { return(new JsonRsp { success = false, retmsg = "请选择要操作的数据" }); } AdminAction model = new AdminAction(); model.Status = status; model.UpdateId = AdminId; model.UpdateUser = AdminName; model.UpdateIP = Util.GetLocalIP; model.UpdateTime = DateTime.Now; OQL q = OQL.From(model) .Update(model.Status, model.UpdateId, model.UpdateUser, model.UpdateIP, model.UpdateTime) .Where(cmp => cmp.Comparer(model.ID, "IN", Ids)) //为了安全,不带Where条件是不会全部删除数据的 .END; int returnvalue = EntityQuery <AdminAction> .Instance.ExecuteOql(q); return(new JsonRsp { success = returnvalue > 0, code = returnvalue }); }