Example #1
0
    private static string addRecord()
    {
        string output = "addRecord\n";

        Random r = new Random();

        for (int i = 0; i < count; i++)
        {
            Tag t = new Tag("", "", 1, DateTime.Now, 1);
            ids[i] = TagManager.addTag(t);
            if (ids[i] < 0)
            {
                output += "Error! 新增测试Tag失败!返回值为" + ids[i] + "\n";
                errorCount++;
                continue;
            }

            output += "Ok! 新增测试Tag成功!返回值为" + ids[i] + "\n";
            User2Tag u2t = new User2Tag(sampleUser.UserId, ids[i]);
            if (!User2TagManager.addRecord(u2t))
            {
                output += "Error! 将id为" + ids[i] + "的Tag关联到id为" + sampleUser.UserId + "的用户时失败!\n";
                errorCount++;
            }
            else
            {
                output += "Ok! 将id为" + ids[i] + "的Tag关联到id为" + sampleUser.UserId + "的用户时成功!\n";
            }
        }
        return(output);
    }
Example #2
0
    private static bool prepare()
    {
        Random r = new Random();

        // add global user
        sampleUser        = new User("test", "test", "test");
        sampleUser.UserId = UserManager.addUser(sampleUser);
        if (sampleUser.UserId < 0)
        {
            output += "Error! 新增用户\"test\"失败!返回值为" + sampleUser.UserId + "。测试无法继续进行。请先解决UserManager中的错误。\n";
            errorCount++;
            return(false);
        }

        for (int i = 0; i < count; i++)
        {
            int no = r.Next(1000, 9000);

            // add primary groups
            pgs[i]         = new PrimaryGroups(100, no + "");
            pgs[i].GroupId = PrimaryGroupMananger.addRecord(pgs[i]);
            if (pgs[i].GroupId < 0)
            {
                output += "Error! 新增主分类失败!返回值为" + pgs[i].GroupId + "。测试无法继续进行。请先解决PrimaryGroupManager中的错误。\n";
                errorCount++;
                return(false);
            }

            // add public sub groups
            tags[i]       = new Tag("sub" + no, "sub" + no, pgs[i].GroupId, DateTime.Now, 0);
            tags[i].TagId = TagManager.addTag(tags[i]);
            if (tags[i].TagId < 0)
            {
                output += "Error! 新增公共子分类失败!返回值为" + tags[i].TagId + "。测试无法继续进行。请先解决TagManager中的错误。\n";
                errorCount++;
                return(false);
            }

            // link user to sub groups
            User2Tag u2t = new User2Tag(sampleUser.UserId, tags[i].TagId);
            if (!User2TagManager.addRecord(u2t))
            {
                output += "Error! 新增User2Tag记录失败!测试无法继续进行。请先解决User2TagManager中的错误。\n";
                errorCount++;
                return(false);
            }
        }

        return(true);
    }
Example #3
0
    /**
     * 输入:新建兴趣标签所属的主分类,兴趣标签的名称,关键词列表(多个关键词之间用空格分隔),用户的userId
     * 输出:成功返回true,失败返回false
     * 功能:在指定的主分类下新建用户私有的兴趣标签
     * 注意:要对primaryGroupId的取值范围做检查
     */
    public static bool addTag(int primaryGroupId, string tagName, string tagKeys, int userId)
    {
        // 建立Tag
        Tag t     = new Tag(-1, tagName, tagKeys, primaryGroupId, DateTime.Now, 1);
        int tagId = TagManager.addTag(t);

        if (tagId < 0)
        {
            return(false);
        }
        // 建立用户到tag的链接
        User2Tag u2t = new User2Tag(userId, tagId);

        return(User2TagManager.addRecord(u2t));
    }
Example #4
0
    /**
     * 输入:用户关注的所有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);
    }