public ActionResult EditMenu(int categoryId, int?parentId, int?id) { if (id > 0) { var vMenu = _db.Menus.Find(id); FrontMenuIM dto = _mapper.Map <FrontMenuIM>(vMenu); if (!string.IsNullOrEmpty(dto.Url)) { var pageMeta = _db.PageMetas.FirstOrDefault(d => d.ModelType == (short)ModelType.MENU && d.ObjectId == dto.Url); if (pageMeta != null) { dto.SEOTitle = pageMeta.Title; dto.Keywords = pageMeta.Keyword; dto.SEODescription = pageMeta.Description; } } return(PartialView("_MenuEdit", dto)); } else { FrontMenuIM newDto = new FrontMenuIM { CategoryId = categoryId, ParentId = parentId }; return(PartialView("_MenuEdit", newDto)); } }
public async System.Threading.Tasks.Task <JsonResult> CreateMenu(FrontMenuIM vm) { if (ModelState.IsValid) { vm.Url = vm.Url.ToLower(); var vMenu = _mapper.Map <Data.Entity.Identity.Menu>(vm); if (vm.ParentId != null) { var parentMenu = _menuService.GetById(vMenu.ParentId.Value); vMenu.LayoutLevel = parentMenu.LayoutLevel + 1; } else { vMenu.LayoutLevel = 0; } //vMenu.CreatedDate = DateTime.Now; //vMenu.CreatedBy = Site.CurrentUserName; _menuService.Create(vMenu); _menuService.ResetSort((vMenu.CategoryId)); await SetPageMetaAsync(_db, (short)ModelType.ARTICLECATEGORY, vm.Url, vm.Title, vm.SEOTitle, vm.Keywords, vm.SEODescription); var menus = _menuService.GetMenusByCategoryId(vMenu.CategoryId); AR.Id = vm.CategoryId; AR.Data = RenderPartialViewToString("_MenuList", menus); AR.SetSuccess("已成功新增菜单"); return(Json(AR, JsonRequestBehavior.DenyGet)); } AR.Setfailure("编辑菜单失败"); return(Json(AR, JsonRequestBehavior.DenyGet)); // return RedirectToAction("Index"); }
public async System.Threading.Tasks.Task <JsonResult> EditMenu(FrontMenuIM vm) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); } vm.Url = vm.Url.ToLower(); if (vm.Id > 0) { var orgMenu = await _db.Menus.FindAsync(vm.Id); var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.MENU && d.ObjectId == orgMenu.Url); orgMenu = _mapper.Map(vm, orgMenu); orgMenu.UpdatedDate = DateTime.Now; orgMenu.UpdatedBy = Site.CurrentUserName; _db.Entry(orgMenu).State = EntityState.Modified; //orgMenu.Title = vMenu.Title; //orgMenu.MenuType = vMenu.MenuType; //orgMenu.Active = vMenu.Active; //orgMenu.Action = vMenu.Action; //orgMenu.Area = vMenu.Area; //orgMenu.CategoryId = vMenu.CategoryId; //orgMenu.Controller = vMenu.Controller; //orgMenu.Iconfont = vMenu.Iconfont; //orgMenu.ParentId = vMenu.ParentId; //orgMenu.Url = string.IsNullOrEmpty(vMenu.Url) ? string.Empty : vMenu.Url.ToLower(); if (string.IsNullOrEmpty(vm.Url)) { if (pageMeta != null) { _db.PageMetas.Remove(pageMeta); } } else { await SetPageMetaAsync(_db, (short)ModelType.ARTICLECATEGORY, vm.Url, vm.Title, vm.SEOTitle, vm.Keywords, vm.SEODescription); } await _db.SaveChangesAsync(); // _menuService.ResetSort(orgMenu.CategoryId); var menus = await _db.Menus.Where(d => d.CategoryId == orgMenu.CategoryId).OrderBy(d => d.Importance).ToListAsync(); AR.Id = orgMenu.CategoryId; AR.Data = RenderPartialViewToString("_MenuList", menus); AR.SetSuccess("已成功保存菜单"); return(Json(AR, JsonRequestBehavior.DenyGet)); } else { var vMenu = _mapper.Map <QNZ.Data.Menu>(vm); if (vm.ParentId != null) { var parentMenu = _menuService.GetById(vMenu.ParentId.Value); vMenu.LayoutLevel = parentMenu.LayoutLevel + 1; } else { vMenu.LayoutLevel = 0; } vMenu.CreatedDate = DateTime.Now; vMenu.CreatedBy = Site.CurrentUserName; _db.Menus.Add(vMenu); await _db.SaveChangesAsync(); // _menuService.ResetSort((vMenu.CategoryId)); List <QNZ.Data.Menu> menus = await RestSortMenus(vMenu.CategoryId); await SetPageMetaAsync(_db, (short)ModelType.ARTICLECATEGORY, vm.Url, vm.Title, vm.SEOTitle, vm.Keywords, vm.SEODescription); //var menus = await _db.Menus.Where(d => d.CategoryId == vMenu.CategoryId).OrderBy(d => d.Importance).ToListAsync(); // _menuService.GetMenusByCategoryId(vMenu.CategoryId); AR.Id = vm.CategoryId; AR.Data = RenderPartialViewToString("_MenuList", menus.OrderBy(d => d.Importance).ToList()); AR.SetSuccess("已成功新增菜单"); return(Json(AR, JsonRequestBehavior.DenyGet)); } }