示例#1
0
        public void AddRoleAndMap(RoleAddModel model)
        {
            var id = this.Add(new Role {
                Name = model.Name, No = model.No
            });
            var permissions        = _permissionsService.Fetch();
            var rolePermissionsMap = new List <RolePermissionsMap>();

            model.PermissionIds.ForEach(m =>
            {
                var permission     = permissions.FirstOrDefault(n => n.Id == int.Parse(m));
                rolePermissionsMap = GetRolePermissionsMap(rolePermissionsMap, model.PermissionIds, permissions, permission.ParentId);
                rolePermissionsMap.Add(new RolePermissionsMap
                {
                    PermissionId = int.Parse(m),
                    RoleId       = id,
                    ParentId     = permission.ParentId
                });
            });
            rolePermissionsMap.ForEach(m =>
            {
                m.RoleId = id;
                _rolePermissionsMapService.Add(m);
            });
            _unitOfWork.Commit();
        }
示例#2
0
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";
            var permissions = _permissionService.Fetch();

            ViewBag.ParentPermissions = permissions;
            ViewBag.PermissionsMenu   = _permissionService.GetMenu(permissions, 0);
            ViewBag.RoleMenu          = _roleService.GetMenu();
            return(View());
        }
        public IList <RolePermissionsMapMenu> GetRolePermissionsMenu(Expression <Func <RolePermissionsMap, bool> > param)
        {
            var dtos = this.Query(param);

            return(GetMenu(dtos, 0, _permissionService.Fetch()));
        }