0

2 つの K2 SmartObjects があります。SmartObjectA はオブジェクトのリストを取得します。SmartObjectB は、SmartObjectA (基本スマート オブジェクト) から返されたリストを入力パラメーターとして使用してカスタム create メソッドを実行するカスタム SmartObject です。

カスタム サービス ブローカーのコード ビハインドでは、リストの値を逆シリアル化する必要があります。

  1. K2 で受信したリストを create メソッドの入力パラメータとして渡すにはどうすればよいですか? 複数値のプロパティを使用し、それに SmartObjectA プロパティを割り当てています。

  2. K2 が複数値をシリアル化するために使用する形式と、リストを正しくマップできるように入力値の形式を確認するにはどうすればよいですか?

SmartObject A のプロパティ:

Name - SOType.Text,
ID - SOType.Number,
Date - SOType.Date,
Description - SOType.Text

SmartObject B - SmartObjectA のリストが入力されるプロパティ:

     [Property("LineItems", SoType.MultiValue, "LineItems", "The line items.")]
             public string LineItems
             {
                 get
                 {
                     return _lineItems;
                 }
                 set { _lineItems = value; }
             }

SmartObjectB の入力プロパティと Create メソッド:

 [SourceCode.SmartObjects.Services.ServiceSDK.Attributes.Method("Create",
                 MethodType.Create,
                 "Create",
                 "Description",
                 new string[] { "CustomerId", "Date", "DueDate" },
                 new string[] { "CustomerId", "Date", "DueDate", "LineItems" },
                 new string[] { "TaxInvoiceId" })]
             public TaxInvoice Create()
             {
                 try
                 {
                    ..deserialize here
                 }
             }
4

1 に答える 1

0

すでに 2 つの異なるスマートオブジェクトがあるので、複合スマートオブジェクトの構築を検討してみませんか。

複合スマート オブジェクトを使用すると、カスタム サービスブローカーを構築する必要がなくなります。

複合スマートオブジェクトの作成

于 2016-02-17T03:32:45.103 に答える