如何移除标准产品代码中添加的实体服务规则?原创
8人赞赏了该文章
477次浏览
编辑于2021年09月26日 16:44:20
标准产品因为某些特定场景在表单插件中会通过代码添加一些实体服务规则用来支撑业务,例如下图物料就添加了而不少实体服务规则:
但是在某些客户实际上是不需要这些实体服务规则,则可以通过以下方法来实现移除特定的实体服务规则,以下用仓库仓位举例
public class MaterialEdit : AbstractBillPlugIn { public override void OnInitialize(InitializeEventArgs e) { base.OnInitialize(e); foreach (var rule in this.View.RuleContainer.Rules) { if (rule.DependencyFields.Count == 1) { string fieldKey = rule.DependencyFields.FirstOrDefault().Field.Key; if (fieldKey.EqualsIgnoreCase("FStockId")) { rules.Add(rule); continue; } if (fieldKey.EqualsIgnoreCase("FStockPlaceId")) { rules.Add(rule); continue; } } } if (!rules.IsEmpty()) { foreach (var extRule in rules) { this.View.RuleContainer.Rules.Remove(extRule); } } } }