Exemplo n.º 1
0
        public CustomJsonResult Edit(string operater, Enumeration.BelongSite belongSite, RopSysMenuEdit rop)
        {
            CustomJsonResult result = new CustomJsonResult();


            using (TransactionScope ts = new TransactionScope())
            {
                var sysMenu = CurrentDb.SysMenu.Where(m => m.Id == rop.Id).FirstOrDefault();
                if (sysMenu == null)
                {
                    return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "数据为空"));
                }
                sysMenu.Name        = rop.Name;
                sysMenu.Title       = rop.Title;
                sysMenu.Path        = rop.Path;
                sysMenu.Component   = rop.Path;
                sysMenu.Icon        = rop.Icon;
                sysMenu.IsSidebar   = rop.IsSidebar;
                sysMenu.IsRouter    = rop.IsRouter;
                sysMenu.IsNavbar    = rop.IsNavbar;
                sysMenu.Description = rop.Description;
                sysMenu.MendTime    = DateTime.Now;
                sysMenu.Mender      = operater;

                CurrentDb.SaveChanges();
                ts.Complete();

                result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功");
            }

            return(result);
        }
Exemplo n.º 2
0
        public List <MenuNode> GetMenus(Enumeration.BelongSite belongSite, string userId)
        {
            List <MenuNode> menuNodes = new List <MenuNode>();

            var sysMenus = CurrentDb.SysMenu.Where(m => m.BelongSite == belongSite && m.Depth != 0).OrderBy(m => m.Priority).ToList();

            if (belongSite == Enumeration.BelongSite.Admin || belongSite == Enumeration.BelongSite.Merch)
            {
                sysMenus = (from menu in CurrentDb.SysMenu where (from rolemenu in CurrentDb.SysRoleMenu where (from sysUserRole in CurrentDb.SysUserRole where sysUserRole.UserId == userId select sysUserRole.RoleId).Contains(rolemenu.RoleId) select rolemenu.MenuId).Contains(menu.Id) && menu.BelongSite == belongSite select menu).Where(m => m.Depth != 0).OrderBy(m => m.Priority).ToList();
            }

            foreach (var sysMenu in sysMenus)
            {
                MenuNode menuNode = new MenuNode();
                menuNode.Id        = sysMenu.Id;
                menuNode.PId       = sysMenu.PId;
                menuNode.Path      = sysMenu.Path;
                menuNode.Name      = sysMenu.Name;
                menuNode.Icon      = sysMenu.Icon;
                menuNode.Title     = sysMenu.Title;
                menuNode.Component = sysMenu.Component;
                menuNode.IsSidebar = sysMenu.IsSidebar;
                menuNode.IsNavbar  = sysMenu.IsNavbar;
                menuNode.IsRouter  = sysMenu.IsRouter;
                menuNodes.Add(menuNode);
            }

            return(menuNodes);
        }
Exemplo n.º 3
0
        public CustomJsonResult InitEdit(string operater, Enumeration.BelongSite belongSite, string roleId)
        {
            var result = new CustomJsonResult();

            var ret  = new RetSysRoleInitEdit();
            var role = CurrentDb.SysRole.Where(m => m.Id == roleId).FirstOrDefault();

            ret.Id          = role.Id;
            ret.Name        = role.Name;
            ret.Description = role.Description;
            ret.Menus       = GetMenuTree(belongSite);

            var roleMenus = from c in CurrentDb.SysMenu
                            where
                            (from o in CurrentDb.SysRoleMenu where o.RoleId == roleId select o.MenuId).Contains(c.Id)
                            select c;


            ret.MenuIds = (from p in roleMenus select p.Id).ToList();


            result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", ret);

            return(result);
        }
Exemplo n.º 4
0
        private List <TreeNode> GetMenuTree(Enumeration.BelongSite belongSite)
        {
            var sysMenus = CurrentDb.SysMenu.Where(m => m.BelongSite == belongSite).OrderBy(m => m.Priority).ToList();

            var topMenu = sysMenus.Where(m => m.Depth == 0).FirstOrDefault();

            return(GetMenuTree(topMenu.Id, sysMenus));
        }
Exemplo n.º 5
0
        public CustomJsonResult InitAdd(string operater, Enumeration.BelongSite belongSite)
        {
            var result = new CustomJsonResult();
            var ret    = new RetSysRoleInitAdd();

            ret.Menus = GetMenuTree(belongSite);
            result    = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", ret);
            return(result);
        }
Exemplo n.º 6
0
        public CustomJsonResult GetList(string operater, Enumeration.BelongSite belongSite, RupSysMenuGetList rup)
        {
            var result = new CustomJsonResult();

            var sysMenus = CurrentDb.SysMenu.Where(m => m.BelongSite == belongSite).OrderBy(m => m.Priority).ToList();

            var topMenu = sysMenus.Where(m => m.Depth == 0).FirstOrDefault();

            var menuTree = GetMenuTree(topMenu.PId, sysMenus);

            result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", menuTree);

            return(result);
        }
Exemplo n.º 7
0
        public CustomJsonResult Add(string operater, Enumeration.BelongSite belongSite, RopSysMenuAdd rop)
        {
            var result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var isExists = CurrentDb.SysMenu.Where(m => m.Name == rop.Name).FirstOrDefault();
                if (isExists != null)
                {
                    return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "该名称已经存在"));
                }

                var pSysMenu = CurrentDb.SysMenu.Where(m => m.Id == rop.PId).FirstOrDefault();
                if (pSysMenu == null)
                {
                    return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "找不到上级节点"));
                }

                var sysMenu = new SysMenu();
                sysMenu.Id          = GuidUtil.New();
                sysMenu.Name        = rop.Name;
                sysMenu.Title       = rop.Title;
                sysMenu.Icon        = rop.Icon;
                sysMenu.Path        = rop.Path;
                sysMenu.Component   = rop.Path;
                sysMenu.Description = rop.Description;
                sysMenu.PId         = rop.PId;
                sysMenu.BelongSite  = belongSite;
                sysMenu.Depth       = pSysMenu.Depth + 1;
                sysMenu.IsNavbar    = rop.IsNavbar;
                sysMenu.IsRouter    = rop.IsRouter;
                sysMenu.IsSidebar   = rop.IsSidebar;
                sysMenu.CreateTime  = DateTime.Now;
                sysMenu.Creator     = operater;
                CurrentDb.SysMenu.Add(sysMenu);

                CurrentDb.SaveChanges();
                ts.Complete();

                result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功");
            }

            return(result);
        }
Exemplo n.º 8
0
        public CustomJsonResult InitAdd(string operater, Enumeration.BelongSite belongSite, string pMenuId)
        {
            var result = new CustomJsonResult();

            var ret = new RetSysMenuInitAdd();

            var sysMenu = CurrentDb.SysMenu.Where(m => m.Id == pMenuId).FirstOrDefault();

            if (sysMenu != null)
            {
                ret.PId    = sysMenu.Id;
                ret.PName  = sysMenu.Name;
                ret.PTitle = sysMenu.Title;
            }

            result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", ret);

            return(result);
        }
Exemplo n.º 9
0
        public CustomJsonResult Edit(string operater, Enumeration.BelongSite belongSite, RopSysRoleEdit rop)
        {
            CustomJsonResult result = new CustomJsonResult();


            using (TransactionScope ts = new TransactionScope())
            {
                var sysRole = CurrentDb.SysRole.Where(m => m.Id == rop.Id).FirstOrDefault();
                if (sysRole == null)
                {
                    return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "数据为空"));
                }

                sysRole.Description = rop.Description;
                sysRole.MendTime    = DateTime.Now;
                sysRole.Mender      = operater;

                var roleMenus = CurrentDb.SysRoleMenu.Where(r => r.RoleId == rop.Id).ToList();

                foreach (var roleMenu in roleMenus)
                {
                    CurrentDb.SysRoleMenu.Remove(roleMenu);
                }


                if (rop.MenuIds != null)
                {
                    foreach (var menuId in rop.MenuIds)
                    {
                        CurrentDb.SysRoleMenu.Add(new SysRoleMenu {
                            Id = GuidUtil.New(), RoleId = rop.Id, MenuId = menuId, Creator = operater, CreateTime = DateTime.Now
                        });
                    }
                }

                CurrentDb.SaveChanges();
                ts.Complete();

                result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功");
            }

            return(result);
        }
Exemplo n.º 10
0
        public CustomJsonResult GetList(string operater, Enumeration.BelongSite belongSite, RupSysRoleGetList rup)
        {
            var result = new CustomJsonResult();

            var query = (from u in CurrentDb.SysRole
                         where (rup.Name == null || u.Name.Contains(rup.Name))
                         &&
                         u.BelongSite == belongSite
                         select new { u.Id, u.Name, u.Description, u.CreateTime, u.Priority });


            int total = query.Count();

            int pageIndex = rup.Page - 1;
            int pageSize  = rup.Limit;

            query = query.OrderBy(r => r.Priority).Skip(pageSize * (pageIndex)).Take(pageSize);

            var list = query.ToList();

            List <object> olist = new List <object>();

            foreach (var item in list)
            {
                olist.Add(new
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    Description = item.Description,
                    CreateTime  = item.CreateTime.ToUnifiedFormatDateTime()
                });
            }


            PageEntity pageEntity = new PageEntity {
                PageSize = pageSize, Total = total, Items = olist
            };

            result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", pageEntity);

            return(result);
        }
Exemplo n.º 11
0
        public CustomJsonResult InitEdit(string operater, Enumeration.BelongSite belongSite, string orgId)
        {
            var result = new CustomJsonResult();

            var ret = new RetSysMenuInitEdit();

            var sysMenu = CurrentDb.SysMenu.Where(m => m.Id == orgId).FirstOrDefault();

            if (sysMenu != null)
            {
                ret.Id          = sysMenu.Id;
                ret.Name        = sysMenu.Name;
                ret.Title       = sysMenu.Title;
                ret.Icon        = sysMenu.Icon;
                ret.Path        = sysMenu.Path;
                ret.IsNavbar    = sysMenu.IsNavbar;
                ret.IsRouter    = sysMenu.IsRouter;
                ret.IsSidebar   = sysMenu.IsSidebar;
                ret.Description = sysMenu.Description;

                var p_sysMenu = CurrentDb.SysMenu.Where(m => m.Id == sysMenu.PId).FirstOrDefault();

                if (p_sysMenu != null)
                {
                    ret.PId    = p_sysMenu.Id;
                    ret.PName  = p_sysMenu.Name;
                    ret.PTitle = p_sysMenu.Title;
                }
                else
                {
                    ret.PName  = "/";
                    ret.PTitle = "/";
                }
            }



            result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", ret);

            return(result);
        }
Exemplo n.º 12
0
        public CustomJsonResult Add(string operater, Enumeration.BelongSite belongSite, RopSysRoleAdd rop)
        {
            var result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var isExists = CurrentDb.SysRole.Where(m => m.Name == rop.Name && m.BelongSite == belongSite).FirstOrDefault();
                if (isExists != null)
                {
                    return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "该名称已经存在"));
                }

                var sysRole = new SysRole();
                sysRole.Id          = GuidUtil.New();
                sysRole.Name        = rop.Name;
                sysRole.Description = rop.Description;
                sysRole.PId         = GuidUtil.Empty();
                sysRole.BelongSite  = belongSite;
                sysRole.Dept        = 0;
                sysRole.CreateTime  = DateTime.Now;
                sysRole.Creator     = operater;
                CurrentDb.SysRole.Add(sysRole);

                if (rop.MenuIds != null)
                {
                    foreach (var menuId in rop.MenuIds)
                    {
                        CurrentDb.SysRoleMenu.Add(new SysRoleMenu {
                            Id = GuidUtil.New(), RoleId = sysRole.Id, MenuId = menuId, Creator = operater, CreateTime = DateTime.Now
                        });
                    }
                }

                CurrentDb.SaveChanges();
                ts.Complete();

                result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功");
            }

            return(result);
        }
Exemplo n.º 13
0
        public CustomJsonResult Sort(string operater, Enumeration.BelongSite belongSite, RopSysMenuSort rop)
        {
            CustomJsonResult result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var sysMenus = CurrentDb.SysMenu.Where(m => rop.Ids.Contains(m.Id)).ToList();

                for (int i = 0; i < sysMenus.Count; i++)
                {
                    int priority = rop.Ids.IndexOf(sysMenus[i].Id);
                    LogUtil.Info("id:" + sysMenus[i].Id + "," + priority.ToString());
                    sysMenus[i].Priority = priority;
                }

                CurrentDb.SaveChanges();
                ts.Complete();

                result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功");
            }

            return(result);
        }