0

我有两个 K2 SmartObject: SmartObjectA 获取对象列表。SmartObjectB 是一个自定义 SmartObject,它使用从 SmartObjectA(基本智能对象)返回的列表作为输入参数执行自定义创建方法。

在后面的自定义服务代理代码中,我需要反序列化列表值。

  1. 如何将 K2 中收到的列表作为 create 方法的输入参数传递?我正在使用多值属性并将 SmartObjectA 属性分配给它。

  2. K2 使用什么格式来序列化多值以及如何检查输入值格式是什么以便正确映射列表?

智能对象 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 的输入属性和创建方法:

 [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 回答