-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathRegisteredEvent.cs
More file actions
96 lines (85 loc) · 4.46 KB
/
Copy pathRegisteredEvent.cs
File metadata and controls
96 lines (85 loc) · 4.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using System;
namespace Xrm
{
/// <summary>
/// Plugin execution event
/// </summary>
public class RegisteredEvent
{
/// <summary>
/// Expected <see href="PipelineStage" /> of the plugin
/// </summary>
public PipelineStage Stage { get; set; }
/// <summary>
/// Expected SDK Message of the plugin
/// </summary>
public string MessageName { get; set; }
/// <summary>
/// Expected EntityLogicalName of the plugin
/// </summary>
public string EntityLogicalName { get; set; }
/// <summary>
/// Expected <see href="SdkMessageProcessingStepMode" /> of the plugin
/// </summary>
/// <value></value>
public SdkMessageProcessingStepMode Mode { get; set; }
/// <summary>
/// Action to execute for the event
/// </summary>
public Action<IExtendedPluginContext> Execute { get; set; }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage and mode.
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode) : this(stage, mode, null, null, null) { }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage, mode and action.
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
/// <param name="action">Action to execute</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode, Action<IExtendedPluginContext> action) : this(stage, mode, null, null, action) { }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage, mode and message using the default action
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode, string messageName) : this(stage, mode, messageName, null, null) { }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage, mode, message and action
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
/// <param name="action">Action to execute</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode, string messageName, Action<IExtendedPluginContext> action) : this(stage, mode, messageName, null, action) { }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage, mode, message and entity using the default action
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
/// <param name="entityLogicalName">Entity logical name</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode, string messageName, string entityLogicalName) : this(stage, mode, messageName, entityLogicalName, null) { }
/// <summary>
/// Constructor for a <see href="RegisteredEvent"> with a specific stage, mode, message, entity and action
/// </summary>
/// <param name="stage">Pipeline stage</param>
/// <param name="mode">SDK Message Processing Step Mode</param>
/// <param name="messageName">Message name</param>
/// <param name="entityLogicalName">Entity logical name</param>
/// <param name="action">Action to execute</param>
public RegisteredEvent(PipelineStage stage, SdkMessageProcessingStepMode mode, string messageName, string entityLogicalName, Action<IExtendedPluginContext> action)
{
Stage = stage;
Mode = mode;
MessageName = messageName;
EntityLogicalName = entityLogicalName;
Execute = action;
}
}
}