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 に答える