Пример #1
0
        public void DeleteRole()
        {
            SystemRoleService srsl = new SystemRoleService();

            srsl.Delete(1);
            int result = srsl.SaveChanges();

            Assert.IsTrue(result == 1);
        }
Пример #2
0
        public void testLastRole()
        {
            SystemRoleService srs1 = new SystemRoleService();
            SystemRole        sr   = new SystemRole();

            sr = srs1.LastSystemRole();
            Assert.IsTrue(sr != null);
            Console.WriteLine(sr.RoleName + " " + sr.Id);
        }
Пример #3
0
        public async Task testAddRole()
        {
            SystemRole sr = new SystemRole {
                RoleName = "普通用户", RoleDescription = "拥有查看基本模块的权限"
            };
            SystemRoleService srs = new SystemRoleService();

            srs.Add(sr);
            int result = await srs.SaveChangesAsync();

            Assert.IsTrue(result == 1);
        }
Пример #4
0
        public ActionResult GetRoleValues(string roleId)
        {
            //var result = ResModelFactory.ResDefaultData<SystemRoleValueViewModel>();
            //角色信息
            SystemRoleService service = new SystemRoleService();
            SystemRole        role    = service.GetEntitys(p => p.ID == roleId).FirstOrDefault();

            //角色权限信息
            SystemRoleValueService       rvalservice = new SystemRoleValueService();
            IQueryable <SystemRoleValue> rolevalues  = rvalservice.GetEntitys(p => p.RoleId == roleId);

            //所有系统导航信息
            IQueryable <SystemMenu> navigations = new SystemMenuService().GetEntitys(p => true);

            RoleAndRloeValues model = new RoleAndRloeValues();

            model.Id          = role.ID;
            model.RoleName    = role.RoleName;
            model.Description = role.Description;

            var parentsnav = navigations.Where(p => string.IsNullOrEmpty(p.ParentID)).OrderBy(o => o.Sort);
            List <TreeDataViewModel> tree = new List <TreeDataViewModel>();

            foreach (var p in parentsnav)
            {
                //如果有菜单权限 选中并展开
                TreeDataViewModel roleval = new TreeDataViewModel();
                roleval.id    = p.ID;
                roleval.title = p.MenuName;


                var parents = navigations.Where(n => n.ParentID == p.ID);
                if (parents.Count() > 0)
                {
                    roleval.spread   = true;
                    roleval.children = initRoleValTree(navigations, parents, rolevalues);
                }
                else
                {
                    if (rolevalues.Where(q => q.MenuId == p.ID).Count() > 0)
                    {
                        roleval.@checked = true;
                    }
                    roleval.children = null;
                }
                tree.Add(roleval);
            }
            model.TreeData = tree;
            return(View("AddRole", model));
        }
Пример #5
0
        public ActionResult DeleteRoles(string[] ids)
        {
            if (ids.Length <= 0)
            {
                return(Json(new { code = 999, msg = "参数有误" }));
            }
            SystemRoleService service = new SystemRoleService();

            object[] obj   = new object[ids.Length];
            string   parms = SqlParameterHelper.GetParameters(ids, ref obj);
            string   sql   = $"delete from SystemRole where id in({parms})";
            int      n     = service.ExcuteSqlParm(sql, obj);

            return(Json(new { code = 0, msg = "success" }));
        }
Пример #6
0
        public ActionResult GetRoleList(string rolename, int page = 1, int limit = 10)
        {
            var result = ResModelFactory.ResDefaultData <SystemRole>();
            SystemRoleService service = new SystemRoleService();
            int count = 0;

            Expression <Func <SystemRole, bool> > where = p => true;
            if (!string.IsNullOrEmpty(rolename))
            {
                where = p => p.RoleName == rolename;
            }
            var list = service.GetPages(limit, page, out count, where, o => o.RoleName, false);

            result.count = count;
            result.data  = list.ToArray();
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public ActionResult GetAllRoles()
        {
            var result = ResModelFactory.ResDefaultData <SystemRole>();

            try
            {
                SystemRoleService service = new SystemRoleService();
                var list = service.GetEntitys(p => true);
                result.data = list.ToArray();
            }
            catch (Exception ex)
            {
                result.code = "999";
                result.msg  = ex.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));;
        }
Пример #8
0
        public ActionResult AddRole(RoleAndRloeValues roleAndRoleVal)
        {
            var result = ResModelFactory.ResDefault();

            try
            {
                //添加Role
                SystemRole role = new SystemRole();
                role.ID          = Guid.NewGuid().ToString();
                role.RoleName    = roleAndRoleVal.RoleName;
                role.Description = roleAndRoleVal.Description;
                role.RoleType    = 2;//超管角色只有1个,系统设定

                //添加角色权限
                List <SystemRoleValue> rolevalues = new List <SystemRoleValue>();
                foreach (var rval in roleAndRoleVal.TreeData)
                {
                    SystemRoleValue roleval = new SystemRoleValue();
                    roleval.ID     = Guid.NewGuid().ToString();
                    roleval.RoleId = role.ID;
                    roleval.MenuId = rval.id;
                    roleval.Action = "View,Show,Add,Modify,Delete";
                    rolevalues.Add(roleval);
                    InitRoleVal(rolevalues, rval.children ?? new List <TreeDataViewModel>().ToArray(), role.ID);
                }

                //添加角色,角色权限
                SystemRoleService service = new SystemRoleService();
                service.AddRoleAndRoleVal(role, rolevalues);
            }
            catch (Exception ex)
            {
                result = ResModelFactory.ResError(ex.Message);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #9
0
        public ActionResult EditRole(RoleAndRloeValues rolevalModel)
        {
            var result = ResModelFactory.ResDefault();
            //
            SystemRoleService service = new SystemRoleService();
            SystemRole        oldRole = service.GetEntitys(p => p.ID == rolevalModel.Id).FirstOrDefault();

            oldRole.RoleName    = rolevalModel.RoleName;
            oldRole.Description = rolevalModel.Description;
            //传过来的 角色权限
            List <SystemRoleValue> rolevalues = new List <SystemRoleValue>();

            if (rolevalModel.TreeData != null)
            {
                foreach (var rval in rolevalModel.TreeData)
                {
                    SystemRoleValue roleval = new SystemRoleValue();
                    roleval.ID     = Guid.NewGuid().ToString();
                    roleval.RoleId = rolevalModel.Id;
                    roleval.MenuId = rval.id;
                    roleval.Action = "View,Show,Add,Modify,Delete";
                    rolevalues.Add(roleval);
                    InitRoleVal(rolevalues, rval.children ?? new List <TreeDataViewModel>().ToArray(), rolevalModel.Id);
                }
            }
            //角色是增加还是减少
            SystemRoleValueService       rservice   = new SystemRoleValueService();
            IQueryable <SystemRoleValue> oldroleval = rservice.GetEntitys(p => p.RoleId == rolevalModel.Id);

            List <string> oldmids = oldroleval.Select(s => s.MenuId).ToList();
            List <string> newmids = rolevalues.Select(t => t.MenuId).ToList();

            //得到增加的menuid
            List <string> add = new List <string>();
            //得到减少的menuid
            List <string> decrease = new List <string>();

            if (oldmids.Count() > 0 && newmids.Count() > 0)
            {
                decrease = oldmids.Except(newmids).ToList();
                add      = newmids.Except(oldmids).ToList();
            }
            else if (oldmids.Count() > 0 && newmids.Count() <= 0)
            {
                decrease = oldmids;
            }
            else if (oldmids.Count() <= 0 && newmids.Count() > 0)
            {
                add = newmids;
            }

            //删除减少的权限
            object[] obj   = new object[decrease.Count() + 1];
            string   parms = string.Empty;
            string   sql   = string.Empty;

            if (decrease.Count > 0)
            {
                parms = SqlParameterHelper.GetParameters(decrease.ToArray(), ref obj);
                sql   = $"delete from SystemRoleValue where roleid=@roleid and menuid in({parms})";
                obj[decrease.Count()] = new SqlParameter("@roleid", rolevalModel.Id);
            }
            //var add = new List<SystemRoleValue>();
            //if (add.Count > 0)
            //{
            //    add = rolevalues.Where(p => add.Contains(p.MenuId)).ToList();
            //}
            bool isok = service.EditRole(oldRole, rolevalues.Where(p => add.Contains(p.MenuId)).ToList(), sql, obj);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }