public IActionResult Put(int id, [FromBody] sys_menu value) { var menuDb = _sysMenuRpt.GetSingle(id); if (menuDb == null) { return(NotFound()); } menuDb.MenuName = value.MenuName; menuDb.MenuOrder = value.MenuOrder; menuDb.RoleIds = value.RoleIds; menuDb.MenuAddr = value.MenuAddr; menuDb.Icon = value.Icon; menuDb.UpdatedAt = DateTime.Now; menuDb.FormName = value.FormName; menuDb.IsValid = true; using (var tran = _context.Database.BeginTransaction()) { try { _sysMenuRpt.Commit(); this.SetMenuRoles(menuDb); tran.Commit(); } catch (Exception e) { Console.WriteLine(e); tran.Rollback(); return(new BadRequestResult());; } } return(new NoContentResult()); }
public IActionResult Find(string ID) { dynamic list; if (!string.IsNullOrEmpty(ID)) { var model = _sys_MenuService.FindByClause(p => p.Menu_ID == ID); //list = var menu = _sys_MenuService.FindByClause(p => p.Menu_ID == model.Menu_ParentID); var Menu_Power = _sys_MenuFunctionService.FindListByClause(p => p.MenuFunction_MenuID == ID, "MenuFunction_CreateTime asc").Select(p => p.MenuFunction_FunctionID).ToList(); var json = Tools.EntityToDictionary(new Dictionary <string, object>() { { "model", model }, { "pname", menu != null?menu.Menu_Name:"" }, { "Menu_Power", Menu_Power } }); list = json; } else { var model = new sys_menu(); var json = Tools.EntityToDictionary(new Dictionary <string, object>() { { "sss", model }, { "pname", "" }, { "Menu_Power", new string[] { } } }); list = json; } return(Json(list)); }
public void UpdateMenu(sys_menu dto, string funcs) { if (!string.IsNullOrEmpty(dto.menu_url)) { dto.menu_type = 1; } if (dto.parent_id == 0) { dto.menu_level = 1; } else { dto.menu_level = Sqldb.Queryable <sys_menu>().Where(s => s.id == dto.parent_id).Select(s => s.menu_level).First() + 1; } Sqldb.Updateable(dto).IgnoreColumns(s => new { s.create_time, s.create_person }).ExecuteCommand(); Sqldb.Deleteable <sys_menu_ref_operate>().Where(s => s.menu_id == dto.id).ExecuteCommand(); if (!string.IsNullOrEmpty(funcs)) { var funcArray = funcs.Split(','); if (funcArray.Length > 0) { var list = new List <sys_menu_ref_operate>(); foreach (var func in funcArray) { var funcModel = new sys_menu_ref_operate(); funcModel.menu_id = dto.id; funcModel.operate_id = func.ToInt64(); list.Add(funcModel); } Sqldb.Insertable(list).ExecuteCommand(); } } }
public void AddMenu(sys_menu dto, string funcs) { dto.id = IdWorkerHelper.NewId(); dto.create_time = DateTime.Now; dto.create_person = "admin"; if (!string.IsNullOrEmpty(dto.menu_url)) { dto.menu_type = 1; } if (dto.parent_id == 0) { dto.menu_level = 1; } else { dto.menu_level = _sysmenuRepository.Queryable <sys_menu>().Where(s => s.id == dto.parent_id).Select(s => s.menu_level).First() + 1; } _sysmenuRepository.Insert(dto); if (!string.IsNullOrEmpty(funcs)) { var funcArray = funcs.Split(','); if (funcArray.Length > 0) { var list = new List <sys_menu_ref_operate>(); foreach (var func in funcArray) { var funcModel = new sys_menu_ref_operate(); funcModel.menu_id = dto.id; funcModel.operate_id = func.ToInt64(); list.Add(funcModel); } _sysmenurefoperateRepository.InsertRange(list); } } }
private void CreateOrUpdateMenu(IPersistBroker broker, classification data) { var menu = broker.Retrieve <sys_menu>("SELECT * FROM sys_menu WHERE router = @code", new Dictionary <string, object>() { { "@code", $"blogs/{data.code}" } }); if (menu != null) { menu.menu_Index = data.index; menu.name = data.name; broker.Update(menu); } else { menu = new sys_menu() { Id = Guid.NewGuid().ToString(), name = data.name, parentid = "8201EFED-76E2-4CD1-A522-4803D52D4D92", parentIdName = "博客管理", router = $"blogs/{data.code}", menu_Index = data.index, stateCode = 1, stateCodeName = "启用" }; broker.Create(menu); } }
public IActionResult EditSave(sys_menu vmodel, string Function_ID) { if (!string.IsNullOrEmpty(vmodel.Menu_ID)) { if (string.IsNullOrEmpty(vmodel.Menu_Num)) { return(Json(new { code = 100, msg = "请输入菜单编号" })); } if (string.IsNullOrEmpty(vmodel.Menu_Name)) { return(Json(new { code = 100, msg = "请输入菜单名称" })); } var FunctionList = JsonConvert.DeserializeObject <List <string> >(Function_ID); _sys_MenuService.UpdateWhere(vmodel, p => new { p.Menu_Num, p.Menu_Name, p.Menu_Url, p.Menu_Icon, p.Menu_ParentID, p.Menu_IsShow }, p => p.Menu_ID == vmodel.Menu_ID); _sys_MenuFunctionService.Delete(p => p.MenuFunction_MenuID == vmodel.Menu_ID); foreach (var item in FunctionList) { _sys_MenuFunctionService.Insert(new sys_menufunction() { MenuFunction_ID = Guid.NewGuid().ToString(), MenuFunction_FunctionID = item, MenuFunction_MenuID = vmodel.Menu_ID, MenuFunction_CreateTime = DateTime.Now }); } } else { return(Json(new { code = 100, msg = "参数无效" })); } return(Json(new { code = 200, msg = "操作成功" })); }
public MsgModel DeleteMenu(sys_menu sys_menu) { //查找被删除节点的子节点 List <sys_menu> myChilds = _baseSysMenuService.GetModels(a => a.menu_pids.Contains("[" + sys_menu.id + "]")).ToList(); if (myChilds.Count > 0) { // "不能删除含有下级菜单的菜单" return(MsgModel.Fail("不能删除含有下级菜单的菜单")); } //查找被删除节点的父节点 List <sys_menu> myFatherChilds = _baseSysMenuService.GetModels(a => a.menu_pids.Contains("[" + sys_menu.menu_pid + "]")).ToList(); //我的父节点只有我这一个子节点,而我还要被删除,更新父节点为叶子节点。 if (myFatherChilds.Count == 1) { sys_menu parent = _baseSysMenuService.GetModels(a => a.id == sys_menu.menu_pid).SingleOrDefault(); parent.id = sys_menu.menu_pid; parent.is_leaf = true;//更新父节点为叶子节点。 _baseSysMenuService.Update(parent); } // 删除节点 _baseSysMenuService.Remove(sys_menu); return(MsgModel.Success("删除菜单项成功!")); }
public IActionResult Post([FromBody] sys_menu value) { var oldSysMenu = _sysMenuRpt.FindBy(f => f.MenuName == value.MenuName); if (oldSysMenu.Any()) { return(BadRequest(string.Concat(value.MenuName, "已经存在。"))); } value.CreatedAt = DateTime.Now; value.UpdatedAt = DateTime.Now; value.IsValid = true; _sysMenuRpt.Add(value); using (var tran = _context.Database.BeginTransaction()) { try { _sysMenuRpt.Commit(); this.SetMenuRoles(value); tran.Commit(); } catch (Exception e) { Console.WriteLine(e); tran.Rollback(); return(new BadRequestResult());; } } return(new OkObjectResult(value)); }
public ActionResult SaveData(sys_menu dto, string funcs) { if (dto.parent_id == 0) { dto.menu_url = "#"; dto.menu_icon = dto.menu_icon ?? "fa fa-bookmark"; } else { dto.menu_url = dto.menu_url ?? "#"; dto.menu_icon = dto.menu_icon ?? "fa fa-tag"; } if (dto.role_tag.IsEmpty()) { dto.role_tag = "#"; } if (dto.id == 0) { _menuApp.AddMenu(dto, funcs); } else { _menuApp.UpdateMenu(dto, funcs); } return(Success("保存成功")); }
public JsonResult Create(sys_menu model) { ExecuteResult Er = new ExecuteResult(); if (!string.IsNullOrEmpty(model.KeyId)) { //验证是否有相同同级 int count = bll.GetList <sys_menu>(item => item.ParentId == model.ParentId && item.FullName == model.FullName && item.KeyId != model.KeyId && item.IsDeleted == false).Count(); if (count > 0) { Er.Result = false; Er.Message = "同级已存在相同菜单命名"; } else { #region 编辑 var old = bll.GetModelById <sys_menu>(model.KeyId); old.IsRoot = false; if (string.IsNullOrEmpty(model.ParentId)) { old.IsRoot = true; } old.FullName = model.FullName; old.Description = model.Description; old.Icon = model.Icon; old.NavigateUrl = model.NavigateUrl; old.ParentId = model.ParentId; old.SortNum = model.SortNum; Er.Result = bll.Update <sys_menu>(old) > 0; Er.Message = Er.Result ? "编辑成功" : "编辑失败"; #endregion } } else { int count = bll.GetList <sys_menu>(item => item.ParentId == model.ParentId && item.FullName == model.FullName && item.IsDeleted == false).Count(); if (count > 0) { Er.Result = false; Er.Message = "同级已存在相同菜单命名"; } else { #region 新增 model.IsRoot = false; if (string.IsNullOrEmpty(model.ParentId)) { model.IsRoot = true; } model.IsDeleted = false; model.CreateDate = DateTime.Now; model.KeyId = Guid.NewGuid().ToString(); Er.Result = bll.Insert <sys_menu>(model) > 0; Er.Message = Er.Result ? "新增成功" : "新增失败"; #endregion } } return(Json(Er)); }
public async Task <ActionResult> DeleteConfirmed(int id) { sys_menu sys_menu = await db.sys_menu.FindAsync(id); db.sys_menu.Remove(sys_menu); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public void AddMenu(sys_menu dto) { dto.id = Guid.NewGuid().ToString("N"); dto.create_time = DateTime.Now; dto.creator = "admin"; dto.menu_icon = dto.menu_font; Sqldb.Insertable(dto).ExecuteCommand(); }
/// <summary> /// 菜单管理:更新菜单的禁用状态 /// </summary> /// <param name="id"></param> /// <param name="status"></param> public MsgModel UpdateStatus(int id, bool status) { sys_menu sys_menu = _baseSysMenuService.GetModels(a => a.id == id).SingleOrDefault(); sys_menu.id = id; sys_menu.status = status; var result = _baseSysMenuService.Update(sys_menu); return(result ? MsgModel.Success("菜单禁用状态更新成功!") : MsgModel.Fail("菜单禁用状态更新失败!")); }
public async Task <ActionResult> Edit([Bind(Include = "menu_id,menu_name,menu_type,menu_link,menu_parent")] sys_menu sys_menu) { if (ModelState.IsValid) { db.Entry(sys_menu).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(sys_menu)); }
public JsonResult SaveData(sys_menu dto) { if (string.IsNullOrEmpty(dto.id)) { _menuApp.AddMenu(dto); } else { _menuApp.UpdateMenu(dto); } return(Success("保存成功")); }
public async Task <ActionResult> Create([Bind(Include = "menu_id,menu_name,menu_type,menu_link,menu_parent")] sys_menu sys_menu) { if (ModelState.IsValid) { db.sys_menu.Add(sys_menu); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(sys_menu)); }
public IHttpActionResult Find_Menu(int id) { try { MenuService svc = new MenuService(); sys_menu entry = svc.Find(id); return(Json(new { code = 1, msg = "ok", entry = entry })); } catch (Exception e) { return(Json(new { code = 0, msg = e.Message })); } }
//新增编辑 public IActionResult Create(string KeyId) { //链接为空的菜单(一级菜单)和跟菜单都可以为父级 ViewBag.MenuParent = bll.GetList <sys_menu>(item => (item.NavigateUrl == null || item.IsRoot == true) && item.IsDeleted == false).ToList(); sys_menu model = null; if (!string.IsNullOrEmpty(KeyId)) { model = bll.GetModelById <sys_menu>(KeyId); } model = model ?? new sys_menu(); return(View(model)); }
public IHttpActionResult Modify_Menu(sys_menu entry) { try { MenuService svc = new MenuService(); int cnt = svc.Update(entry); return(cnt > 0 ? Json(new { code = 1, msg = "ok" }) : Json(new { code = 0, msg = "error" })); } catch (Exception e) { return(Json(new { code = 0, msg = e.Message })); } }
public IHttpActionResult GetUpItem(int id) { try { MenuService ms = new MenuService(); sys_menu entry = ms.UpItem(id); return(Json(new { code = 1, msg = "ok", entry = entry })); } catch (Exception e) { return(Json(new { code = 0, msg = e.Message })); } }
private StringBuilder SubMenu(IEnumerable <sys_menu> list, sys_menu item) { StringBuilder json = new StringBuilder(); if (list.Count(t => t.pid == item.id) > 0) { foreach (var sitem in list.Where(t => t.pid == item.id)) { json.Append("{\"id\":" + sitem.id + ",\"pid\":" + sitem.pid + ",\"title\":\"" + sitem.title + "\",\"subitems\":[" + SubMenu(list, sitem).ToString() + "]},"); } json.Remove(json.Length - 1, 1); } return(json); }
public IHttpActionResult Add_Menu(sys_menu entry) { try { var route = Request.GetRouteData(); MenuService svc = new MenuService(); int cnt = svc.Add(entry); return(cnt > 0 ? Json(new { code = 1, msg = "ok" }) : Json(new { code = 0, msg = "编码重复!" })); } catch (Exception e) { return(Json(new { code = 0, msg = e.Message })); } }
/// <summary> /// 菜单表分页 /// </summary> /// <param name="PageIndex"></param> /// <param name="PageSize"></param> /// <param name="model">菜单条件对象</param> /// <returns></returns> public PageModel <sys_menu> MenuPage(int PageIndex, int PageSize, sys_menu model) { using (var db = SqlSugarDB.MasterDB) { int totalNumber = 0; var list = db.Queryable <sys_menu>() .Where(item => item.IsDeleted == false) .WhereIF(!string.IsNullOrEmpty(model.FullName) && !string.IsNullOrEmpty(model.NavigateUrl), item => item.FullName.Contains(model.FullName) || item.NavigateUrl.Contains(model.NavigateUrl)) .WhereIF(!string.IsNullOrEmpty(model.ParentId), item => item.ParentId == model.ParentId) .OrderBy(item => item.SortNum) .ToPageList(PageIndex, PageSize, ref totalNumber); return(GetPageInfo <sys_menu>(PageIndex, PageSize, list, totalNumber)); } }
// GET: sys_menu/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } sys_menu sys_menu = await db.sys_menu.FindAsync(id); if (sys_menu == null) { return(HttpNotFound()); } return(View(sys_menu)); }
public MsgModel AddMenu(sys_menu sys_menu) { SetMenuIdsAndLevel(sys_menu); sys_menu.is_leaf = true;//新增的菜单节点都是子节点,没有下级 sys_menu parent = _baseSysMenuService.GetModels(a => a.id == sys_menu.menu_pid).SingleOrDefault(); parent.id = sys_menu.menu_pid; parent.is_leaf = false; //更新父节点为非子节点。 _baseSysMenuService.Update(parent); sys_menu.status = false;//设置是否禁用,新增节点默认可用 _baseSysMenuService.Update(sys_menu); return(MsgModel.Success("新增菜单项成功!")); }
public IActionResult Delete(int id) { sys_menu sysMenu = _sysMenuRpt.GetSingle(id); if (sysMenu == null) { return(new NotFoundResult()); } _sysRoleMenuRpt.DeleteWhere(f => f.MenuId == id); _sysRoleMenuRpt.Commit(); sysMenu.IsValid = false; _sysMenuRpt.Commit(); return(new NoContentResult()); }
/// <summary> /// 设置某子节点的所有祖辈id /// </summary> /// <param name="child"></param> private void SetMenuIdsAndLevel(sys_menu child) { List <sys_menu> allMenus = _baseSysMenuService.GetModels(null).ToList(); foreach (sys_menu sys_menu in allMenus) { // 从组织列表中找到自己的直接父亲 if (sys_menu.id == child.menu_pid) { //直接父亲的所有祖辈id + 直接父id = 当前子节点的所有祖辈id //爸爸的所有祖辈 + 爸爸 = 孩子的所有祖辈 child.menu_pids = sys_menu.menu_pids + ",[" + child.menu_pid + "]"; child.level = sys_menu.level + 1; } } }
//分页 public JsonResult PageData(int PageIndex, int PageSize, sys_menu model) { var page = bll.MenuPage(PageIndex, PageSize, model); if (page != null && page.rows != null) { string json = JsonConvert.SerializeObject(page.rows); JArray ja = (JArray)JsonConvert.DeserializeObject(json); for (int i = 0; i < ja.Count; i++) { ja[i]["CreateDate"] = ja[i]["CreateDate"] == null ? "" : Convert.ToDateTime(ja[i]["CreateDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"); } page.rows = ja; } return(Json(page)); }
public bool Create(CreateSysMenuRequestDto dto) { var entity = new sys_menu { Action = dto.Action, Controller = dto.Controller, CreateTime = DateTime.Now, EditTime = DateTime.Now, IsDelete = false, Name = dto.Name, Url = dto.Url, }; _mptContext.Add(entity); var result = _mptContext.SaveChanges(); return(result > 1); }
private IEnumerable <dynamic> SubMenus(IEnumerable <sys_menu> list, sys_menu item) { List <dynamic> menulist = new List <dynamic>(); foreach (var sitem in list.Where(t => t.pid == item.id)) { if (list.Count(t => t.pid == sitem.id) == 0) { menulist.Add(new { path = sitem.path, name = sitem.code, meta = new { title = sitem.title, icon = sitem.icon }, component = sitem.viewpath }); } else { var subitem = SubMenus(list, sitem); menulist.Add(new { path = sitem.path, name = sitem.code, meta = new { title = sitem.title, icon = sitem.icon }, children = subitem, component = sitem.viewpath }); } } return(menulist); }