Ejemplo n.º 1
0
        /// <summary>
        /// 新增或更改角色的用户
        /// </summary>
        /// <param name="userList"></param>
        /// <param name="roleId"></param>
        /// <param name="len"></param>
        /// <returns></returns>
        public string CreateUserRole(List <SysModuleModel> moduleList, string roleId, int len)
        {
            List <SysPermissionModel> list = sysPermissionBLL.GetByRoleId(roleId);

            //去除已有的不需更改的记录
            for (int i = 0; i < len; i++)
            {
                for (int j = 0; j < list.Count; j++)
                {
                    if (moduleList[i].ModuleId == list[j].ModuleId)
                    {
                        moduleList.Remove(moduleList[i]);
                        list.Remove(list[j]);
                        i--;
                        len--;
                        break;
                    }
                }
                if (moduleList.Count == 0)
                {
                    break;
                }
            }
            if (list.Count != 0)
            {
                foreach (var a in list)
                {
                    if (!sysPermissionBLL.Delete(a.Id))
                    {
                        var json = js.Serialize(new { flag = false });
                        return(json);
                    }
                }
            }
            if (moduleList.Count != 0)
            {
                foreach (var a in moduleList)
                {
                    SysPermissionModel permissionModel = new SysPermissionModel();
                    permissionModel.Id       = ResultHelper.NewId;
                    permissionModel.ModuleId = a.ModuleId;
                    permissionModel.RoleId   = roleId;
                    permissionModel.IsShow   = true;
                    if (!sysPermissionBLL.Create(permissionModel))
                    {
                        var json = js.Serialize(new { flag = false });
                        return(json);
                    }
                }
                var jsondata = js.Serialize(new { flag = true });
                return(jsondata);
            }
            else if (list.Count == 0)
            {
                var jsondata = js.Serialize(new { flag = false });
                return(jsondata);
            }
            else
            {
                var jsondata = js.Serialize(new { flag = true });
                return(jsondata);
            }
        }