private static string getGroupIdsByArticle() { string output = "getGroupIdsByArticle\n"; for (int i = 0; i < count; i++) { Article a = new Article(); a.ArticleId = ids[i]; List <int> list = Article2GroupManager.getGroupIdsByArticle(a); if (list == null) { output += "Error! 调用getGroupIdsByArticle失败!返回值为null。\n"; errorCount++; continue; } if (!list.Contains(primaryGroupId)) { output += "Error! 未找到关联(文章id为" + ids[i] + ",主分类id为" + primaryGroupId + ")!\n"; errorCount++; } else { output += "Ok! 找到关联(文章id为" + ids[i] + ",主分类id为" + primaryGroupId + ")!\n"; } } return(output); }
/* * 输入:一个文章的Article实例,以及一个文章所属的groupId的列表 * 输出:成功返回true,失败返回false * 功能:对指定文章进行分类,将其分到groupIds所包含的所有组别中去(即一篇文章可以被分到多个类别中)。 * 用途说明:管理员新增一篇文章到数据库中去以后,系统会自动将文章分类,并将结果显示在页面上,管理员若对自动 * 分类的结果不满意,可以手动调整,调整完毕后调用本函数修改文章的分类结果 */ public static bool changeGroupRelation(Article a, List <int> groupIds) { bool result = true; // 先删除旧的 groupIds List <int> old_gids = Article2GroupManager.getGroupIdsByArticle(a); // 这里我认为这个传入的 Article 的 id 是已经赋值了的 foreach (int old_gid in old_gids) { Article2GroupManager.deleteRecord(new Article2Group(a.ArticleId, old_gid)); } // 再插入新的 groupIds foreach (int gid in groupIds) { if (Article2GroupManager.addRecord(new Article2Group(a.ArticleId, gid)) == false) { result = false; // 只要有一条记录插入不成功,则返回 false } } return(result); }
/* * 输入:一个Article的model实例 * 输出:该文章所属的所有类别的groupId的列表 * 功能:查询指定文章所属的所有的组别的ID * 用途说明:管理员调用addArticleWrapper函数将一篇新文章插入数据库后,得到返回的articleId, * 便可用本函数查询该文章的自动分类结果(以组别ID的列表为形式) */ public static List <int> getGroupIdsByArticleWrapper(Article a) { return(Article2GroupManager.getGroupIdsByArticle(a)); }