0

需要使用 API 客户端将成员分配给项目。我试过如下。但它不工作......

        Oid projectId = Oid.FromToken("Scope:1571", metaModel);
        Oid MemberID  = Oid.FromToken("Member:1594", metaModel);


        IAssetType scopeType = metaModel.GetAssetType("Scope");

        IAttributeDefinition atbAssignMember = scopeType.GetAttributeDefinition("Members");


        Asset newScope = services.New(scopeType, null);

        newScope.SetAttributeValue(atbAssignMember, MemberID);

皮斯帮我做这件事。

谢谢

4

1 回答 1

0

此片段是如何将成员添加到项目的工作示例。你在设置属性。由于您的目标是创建多关系属性,因此您需要AddAttributeValue而不是SetAttributeValue。SetAttributeValue 保留用于单一/简单的标量类型,如文本(即名称或日期)

        V1APIConnector dataConnector = new V1APIConnector("YourVersionOne/rest-1.v1/",
                                                         "LLuthor", "K!@#$1234");
        V1APIConnector metaConnector = new V1APIConnector("YourVersionOne/meta.v1/");
        IMetaModel metaModel = new MetaModel(metaConnector);
        IServices services = new Services(metaModel, dataConnector);

        Oid newMemberOid = Oid.FromToken("Member:1007", metaModel);
        Oid scopeId = Oid.FromToken("Scope:1489", metaModel);

        Query query = new Query(scopeId);
        IAssetType scopeType = metaModel.GetAssetType("Scope");
        IAttributeDefinition membersAttribute = scopeType.GetAttributeDefinition("Members");
        query.Selection.Add(membersAttribute);
        QueryResult result = services.Retrieve(query);
        Asset scope = result.Assets[0];
        scope.AddAttributeValue(membersAttribute,newMemberOid);
        services.Save(scope);
于 2014-08-06T19:27:36.270 回答