【发布时间】:2021-06-16 13:13:54
【问题描述】:
我有以下要求要在实体上的插件代码中实现,比如“实体 A”-
以下是“实体 A”中的数据
使用字段值记录 1
- 价格 = 100
- 数量 = 4
使用字段值记录 2
- 价格 = 200
- 数量 = 2
我需要添加字段的值并在新记录中更新它。示例如下 -
记录 3
- 价格 = 100 + 200 = 300
- 数量 = 4 + 2 = 6
实体 A 有一个名为“Perform Addition”的按钮,点击后会触发插件代码。
我需要一些关于如何实现它的想法/伪代码。上面解释的示例只是我的实体的一个更简单的版本。在 Real 中,实体上有 60 多个字段,对于每个字段,我需要在第三个字段中执行求和和更新。执行加法的记录数也可以超过 2。
因此记录的数量越多,我将不得不遍历每条记录并执行求和,我想知道是否有更简单更好的方法来编写这个逻辑。
只需要有关如何编写逻辑的指导。 任何帮助将不胜感激。
解决方案:
尝试了下面的代码,它按照答案的建议工作-
AttributeList 是我需要对其执行求和的字段列表。所有字段均为十进制
Entity EntityA = new EntityA();
EntityA.Id = new Guid({"Guid String"});
var sourceEntityDataList = service.RetrieveMultiple(new FetchExpression(fetchXml)).Entities;
foreach (var value in AttributeList)
{
EntityA[value]= sourceEntityDataList.Sum(e => e.Contains(value) ? e.GetAttributeValue<Decimal>(value) : 0);
}
service.Update(EntityA);
【问题讨论】:
-
到目前为止你尝试过什么?应该是回答特定问题的地方,而不是可以让其他人为您完成工作的地方。
标签: plugins dynamics-crm dynamics-crm-2011 dynamics-crm-2013 dynamics-crm-online