Ejemplo n.º 1
0
        public ActionResult Delete(MenuViewModel model)
        {
            var result = _menuService.Delete(model.Id);

            MenuConfig.Clear();
            return(RedirectToAction("Index", "Result", new { state = result, style = "dialog" }));
        }
Ejemplo n.º 2
0
        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" }));
        }
Ejemplo n.º 3
0
        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" }));
        }
Ejemplo n.º 4
0
        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 = "/" }));
        }