一、头注释
// <copyright file="Amount.cs" company="Microsoft"> // Copyright (c) 2022 All Rights Reserved // </copyright> // <author>Achen</author> // <date>2022/8/25 14:18:31</date> // <summary>关于客户额度调整申请的按钮的插件</summary>
二、Plugin
的准备工作(原生态插件--即不使用Vyung模板的)
1.在类名前添加 public
修饰符;在类名后引用 IPlugin
接口
如: public class xxClass : IPlugin
2.获取组织服务等的方法(通用,直接粘贴即可)
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); IOrganizationService serviceAdmin = serviceFactory.CreateOrganizationService(null);
3.判断插件的操作类型
//获取操作类型 Message var message = context.MessageName; //不是修改操作,退出 if (message != "Update") return;
4.获取target
logicName
Image镜像
var target = context.InputParameters["Target"] as Entity; var logicName = target.LogicalName; //不是额度申请实体,退出 if (logicName != "new_askforamount") return; //获取前镜像 Entity preIm