private static string deleteRecord() { string output = "deleteRecord\n"; for (int i = 0; i < count; i++) { User2Tag u2t = new User2Tag(sampleUser.UserId, ids[i]); if (!User2TagManager.deleteRecord(u2t)) { output += "Error! 删除关联(TagId为" + ids[i] + ",用户id为" + sampleUser.UserId + ")失败!\n"; errorCount++; } else { output += "Ok! 删除关联(TagId为" + ids[i] + ",用户id为" + sampleUser.UserId + ")成功!\n"; } Tag t = new Tag(ids[i], "", "", 1, DateTime.Now, 1); if (!TagManager.deleteTag(t)) { output += "Error! 删除测试Tag失败(TagId为" + ids[i] + ")!\n"; errorCount++; } else { output += "Ok! 删除测试Tag成功(TagId为" + ids[i] + ")!\n"; } } return(output); }
private static bool clean() { for (int i = 0; i < count; i++) { // unlink user to sub groups User2Tag u2t = new User2Tag(sampleUser.UserId, tags[i].TagId); if (!User2TagManager.deleteRecord(u2t)) { output += "Error! 删除User2Tag记录失败!测试无法继续进行。请先解决User2TagManager中的错误。\n"; errorCount++; return(false); } // unlink user to interest labels User2Tag u2t2 = new User2Tag(sampleUser.UserId, interLabels[i].TagId); if (!User2TagManager.deleteRecord(u2t2)) { output += "Error! 删除User2Tag记录失败!测试无法继续进行。请先解决User2TagManager中的错误。\n"; errorCount++; return(false); } // delete public sub groups if (!TagManager.deleteTag(tags[i])) { output += "Error! 删除测试公共子分类失败!测试无法继续进行。请先解决TagManager中的错误。\n"; errorCount++; return(false); } // delete interest labels if (!TagManager.deleteTag(interLabels[i])) { output += "Error! 删除测试兴趣标签失败!测试无法继续进行。请先解决TagManager中的错误。\n"; errorCount++; return(false); } // delete primary groups if (!PrimaryGroupMananger.deleteRecord(pgs[i])) { output += "Error! 删除测试主分类失败!测试无法继续进行。请先解决PrimaryGroupManager中的错误。\n"; errorCount++; return(false); } } if (!UserManager.deleteRecord(sampleUser)) { output += "Error! 删除用户\"test\"失败!测试无法继续进行。请先解决UserManager中的错误。\n"; errorCount++; return(false); } return(true); }
/** * 输入:一个User2Tag的model * 输出:成功返回true,失败返回false * 功能:删除指定的User2Tag记录 */ public static bool deleteTag(User2Tag u2t) { if (!User2TagManager.deleteRecord(u2t)) { return(false); } // 如果是兴趣标签,则除了删除User2Tag表中记录,还要删除Tag表中这个兴趣标签本身 Tag t = new Tag(); t.TagId = u2t.TagId; Tag t2 = TagManager.getTag(t); if (t2.IsPrivate == 1) { return(TagManager.deleteTag(t2)); } else { return(true); } }
/** * 输入:用户关注的所有tag(这里只有子分类,不会出现兴趣标签)的tagId列表(包括所有的“其他”子分类),用户的id * 输出:成功返回true,失败返回false * 功能:记录用户关注的子分类信息到数据库 * 注意:进行数据库操作时,要先删除该用户的所有非兴趣标签类型的关注,再重新添加用户关注的子分类。 * 对兴趣标签的增删都有专门的方法进行操作,这不是本方法的涉足范围,本方法不可以增删用户自己的兴趣标签, * 只能对用户关于公共分类(主分类和子分类)的关注链接进行操作!!! * * 还有任何不理解的地方请果断问清楚。 */ public static bool saveFocus(List <int> tagIds, int userId) { //拿到指定用户旧的关注列表(包括子分类和兴趣标签) User u = new User(); u.UserId = userId; User u2 = UserManager.getUserById(u); List <int> oldTagList = User2TagManager.getTagListByUserId(u2); //根据列表信息,删除用户对子分类的全部关注,只留下对兴趣标签的关注 if (oldTagList != null) { foreach (int tempTagId in oldTagList) { Tag t = new Tag(); t.TagId = tempTagId; Tag t2 = TagManager.getTag(t); if (t2.IsPrivate == 0) { // 删除用户关注 User2Tag u2t = new User2Tag(userId, tempTagId); User2TagManager.deleteRecord(u2t); } } } //将用户的新的对子分类的关注列表存入User2Tag表中 foreach (int tempNewTagId in tagIds) { User2Tag u2t = new User2Tag(userId, tempNewTagId); if (!User2TagManager.addRecord(u2t)) { continue; } } return(true); }