public ActionResult Delete(MenuViewModel model) { var result = _menuService.Delete(model.Id); MenuConfig.Clear(); return(RedirectToAction("Index", "Result", new { state = result, style = "dialog" })); }
public ActionResult Edit(MenuViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (!_menuService.Verify(model)) { ModelState.AddModelError("", "URL冲突,请检查"); return(View(model)); } var result = _menuService.Update(model); MenuConfig.Clear(); return(RedirectToAction("Index", "Result", new { state = result, style = "dialog" })); }
public ActionResult Permission() { var id = Request.Form["Id"]; var permissions = new List <RolePermissionViewModel>(); if (Request.Form["Menu"] != null) { var menuArray = Request.Form["Menu"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var menuId in menuArray) { var menu = _menuService.GetById(menuId); if (menu == null) { continue; } permissions.Add(new RolePermissionViewModel(menu, true)); } } _roleService.SavePermission(id, permissions); MenuConfig.Clear(); return(RedirectToAction("Index", "Result", new { state = true, returnUrl = "/Role" })); }
public ActionResult Index(ImportModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = UserManager.FindById(UserId); if (!user.IsSuperAdmin) { return(RedirectToAction("Index", "Result", new { state = false, message = "安装失败,您没有此权限", returnUrl = "/" })); } var file = Request.Files[0]; var name = file.FileName; var ext = Path.GetExtension(name); var virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", "/Files", DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString(), RandomIdGenerator.NewId(), ext); var absolutePath = Server.MapPath("~/") + virtualPath.Replace("/", "\\"); var dir = Path.GetDirectoryName(absolutePath); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } file.SaveAs(absolutePath); var permissions = uow.Set <RolePermission>().ToList(); for (int i = 0; i < permissions.Count; i++) { uow.Set <RolePermission>().Remove(permissions[i]); } var menus = uow.Set <Menu>().ToList(); for (int i = 0; i < menus.Count; i++) { uow.Set <Menu>().Remove(menus[i]); } uow.Commit(); using (StreamReader sr = new StreamReader(absolutePath)) { var serializer = new XmlSerializer(typeof(List <MenuViewModel>)); var newMenus = (List <MenuViewModel>)serializer.Deserialize(sr); if (newMenus != null) { var fathers = newMenus.Where(x => string.IsNullOrEmpty(x.ParentID)).ToList(); foreach (var fa in fathers) { uow.Set <Menu>().Add(new Menu { Id = fa.Id, IsControlPanel = fa.IsControlPanel, Description = fa.Description, CreateAt = DateTime.Now, Height = fa.Height, Icon = fa.Icon, IsDisplayOnTable = fa.IsDisplayOnTable, IsMustSelected = fa.IsMustSelected, Name = fa.Name, No = fa.No, OpenStyle = (MenuOpenStyleEnum)fa.OpenStyle, RelevantURL = fa.RelevantURL, URL = fa.URL, Width = fa.Width, }); findChildren(newMenus, fa); } } } uow.Commit(); MenuConfig.Clear(); return(RedirectToAction("Index", "Result", new { state = true, message = "安装成功,请重新配置角色权限", returnUrl = "/" })); }