diff --git a/Ofscrm.PluginRegistration.Tests/Ofscrm.PluginRegistration.Tests.csproj b/Ofscrm.PluginRegistration.Tests/Ofscrm.PluginRegistration.Tests.csproj
new file mode 100644
index 0000000..d2cb1fc
--- /dev/null
+++ b/Ofscrm.PluginRegistration.Tests/Ofscrm.PluginRegistration.Tests.csproj
@@ -0,0 +1,116 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {80420FE9-F185-4DF2-A3BF-9DEBB341849B}
+ Library
+ Properties
+ Ofscrm.PluginRegistration.Tests
+ Ofscrm.PluginRegistration.Tests
+ v4.5.2
+ 512
+ {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 15.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+ $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
+ False
+ UnitTest
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\Microsoft.CrmSdk.CoreAssemblies.8.2.0\lib\net45\Microsoft.Crm.Sdk.Proxy.dll
+
+
+ ..\packages\Microsoft.IdentityModel.6.1.7600.16394\lib\net35\Microsoft.IdentityModel.dll
+ True
+
+
+ ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.22.302111727\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll
+
+
+ ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.22.302111727\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll
+
+
+ ..\packages\MSTest.TestFramework.1.1.11\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
+
+
+ ..\packages\MSTest.TestFramework.1.1.11\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
+
+
+ ..\packages\Microsoft.CrmSdk.CoreAssemblies.8.2.0\lib\net45\Microsoft.Xrm.Sdk.dll
+
+
+ ..\packages\Microsoft.CrmSdk.Deployment.8.2.0\lib\net45\Microsoft.Xrm.Sdk.Deployment.dll
+
+
+ ..\packages\Microsoft.CrmSdk.Workflow.8.2.0\lib\net45\Microsoft.Xrm.Sdk.Workflow.dll
+
+
+ ..\packages\Microsoft.CrmSdk.XrmTooling.CoreAssembly.8.2.0.5\lib\net452\Microsoft.Xrm.Tooling.Connector.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {48fc78f2-e0da-4b04-b043-c69e9130a6a4}
+ Ofscrm.PluginRegistration
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Ofscrm.PluginRegistration.Tests/Properties/AssemblyInfo.cs b/Ofscrm.PluginRegistration.Tests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4539893
--- /dev/null
+++ b/Ofscrm.PluginRegistration.Tests/Properties/AssemblyInfo.cs
@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Ofscrm.PluginRegistration.Tests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Ofscrm.PluginRegistration.Tests")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("80420fe9-f185-4df2-a3bf-9debb341849b")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Ofscrm.PluginRegistration.Tests/UnitTest1.cs b/Ofscrm.PluginRegistration.Tests/UnitTest1.cs
new file mode 100644
index 0000000..3e490ba
--- /dev/null
+++ b/Ofscrm.PluginRegistration.Tests/UnitTest1.cs
@@ -0,0 +1,22 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace Ofscrm.PluginRegistration.Tests
+{
+ [TestClass]
+ public class UpdatePluginsCommandTests
+ {
+ [TestMethod]
+ public void TestMethod1()
+ {
+ UpdatePluginsCommandOptions options = new UpdatePluginsCommandOptions
+ {
+ PluginsFolder = "C:\\Users\\lghersi\\Projects\\ClientEngage\\Sources\\Product\\Development\\Build\\plugins"
+ };
+ UpdatePluginsCommand command = new UpdatePluginsCommand(options);
+
+ command.ExecuteCommand();
+
+ Assert.Inconclusive();
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration.Tests/app.config b/Ofscrm.PluginRegistration.Tests/app.config
new file mode 100644
index 0000000..874841b
--- /dev/null
+++ b/Ofscrm.PluginRegistration.Tests/app.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Ofscrm.PluginRegistration.Tests/packages.config b/Ofscrm.PluginRegistration.Tests/packages.config
new file mode 100644
index 0000000..0a757de
--- /dev/null
+++ b/Ofscrm.PluginRegistration.Tests/packages.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Ofscrm.PluginRegistration/CommandBase.cs b/Ofscrm.PluginRegistration/CommandBase.cs
new file mode 100644
index 0000000..9a36a53
--- /dev/null
+++ b/Ofscrm.PluginRegistration/CommandBase.cs
@@ -0,0 +1,56 @@
+using System;
+using McTools.Xrm.Connection;
+using Microsoft.Xrm.Tooling.Connector;
+using Ofscrm.PluginRegistration.Helpers;
+using Ofscrm.PluginRegistration.Wrappers;
+
+namespace Ofscrm.PluginRegistration
+{
+ public abstract class CommandBase
+ {
+ protected CrmOrganization Organization { get; }
+
+ protected CommandBase()
+ {
+ Organization = GetOrganization();
+ }
+
+ private static ConnectionDetail CreateConnection()
+ {
+ ConnectionDetail connection = new ConnectionDetail
+ {
+ UseConnectionString = true,
+ ConnectionString = "AuthType=AD;Url=http://bemeche1crm01.ofscorp.objectway.com/OFSCRMWealthLGHE;",
+ ConnectionName = "LGHE"
+ };
+
+ CrmServiceClient crmServiceClient = connection.GetCrmServiceClient(true);
+ if (crmServiceClient.IsReady)
+ {
+ return connection;
+ }
+
+ throw new CrmInvalidConnectionException("Connection is not ready.");
+ }
+
+ private static CrmOrganization GetOrganization()
+ {
+ OrganizationConnectionOptions connectionOptions =
+ new OrganizationConnectionOptions
+ {
+ LoadPlugins = true,
+ LoadAssemblies = true
+ };
+
+ return new CrmOrganization(CreateConnection(), connectionOptions);
+ }
+ }
+
+ internal class CrmInvalidConnectionException : Exception
+ {
+ public CrmInvalidConnectionException(string message):base(message)
+ {
+
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/PluginAssembly.cs b/Ofscrm.PluginRegistration/Entities/PluginAssembly.cs
new file mode 100644
index 0000000..1ef9649
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/PluginAssembly.cs
@@ -0,0 +1,498 @@
+using System;
+using System.CodeDom.Compiler;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Assembly that contains one or more plug-in types.
+ ///
+ [DataContract()]
+ [EntityLogicalName("pluginassembly")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class PluginAssembly : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+ ///
+ /// Default Constructor.
+ ///
+ public PluginAssembly() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "pluginassembly";
+
+ public const int EntityTypeCode = 4605;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("componentstate")]
+ public OptionSetValue ComponentState
+ {
+ get
+ {
+ return GetAttributeValue("componentstate");
+ }
+ }
+
+ ///
+ /// Bytes of the assembly, in Base64 format.
+ ///
+ [AttributeLogicalName("content")]
+ public string Content
+ {
+ get
+ {
+ return GetAttributeValue("content");
+ }
+ set
+ {
+ OnPropertyChanging("Content");
+ SetAttributeValue("content", value);
+ OnPropertyChanged("Content");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the plug-in assembly.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the plug-in assembly was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public System.DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the pluginassembly.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Culture code for the plug-in assembly.
+ ///
+ [AttributeLogicalName("culture")]
+ public string Culture
+ {
+ get
+ {
+ return GetAttributeValue("culture");
+ }
+ set
+ {
+ OnPropertyChanging("Culture");
+ SetAttributeValue("culture", value);
+ OnPropertyChanged("Culture");
+ }
+ }
+
+ ///
+ /// Customization Level.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Description of the plug-in assembly.
+ ///
+ [AttributeLogicalName("description")]
+ public string Description
+ {
+ get
+ {
+ return GetAttributeValue("description");
+ }
+ set
+ {
+ OnPropertyChanging("Description");
+ SetAttributeValue("description", value);
+ OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component should be hidden.
+ ///
+ [AttributeLogicalName("ishidden")]
+ public BooleanManagedProperty IsHidden
+ {
+ get
+ {
+ return GetAttributeValue("ishidden");
+ }
+ set
+ {
+ OnPropertyChanging("IsHidden");
+ SetAttributeValue("ishidden", value);
+ OnPropertyChanged("IsHidden");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component is managed.
+ ///
+ [AttributeLogicalName("ismanaged")]
+ public bool? IsManaged
+ {
+ get
+ {
+ return GetAttributeValue("ismanaged");
+ }
+ }
+
+ ///
+ /// Information about how the plugin assembly is to be isolated at execution time; None / Sandboxed.
+ ///
+ [AttributeLogicalName("isolationmode")]
+ public OptionSetValue IsolationMode
+ {
+ get
+ {
+ return GetAttributeValue("isolationmode");
+ }
+ set
+ {
+ OnPropertyChanging("IsolationMode");
+ SetAttributeValue("isolationmode", value);
+ OnPropertyChanged("IsolationMode");
+ }
+ }
+
+ ///
+ /// Major of the assembly version.
+ ///
+ [AttributeLogicalName("major")]
+ public int? Major
+ {
+ get
+ {
+ return GetAttributeValue("major");
+ }
+ }
+
+ ///
+ /// Minor of the assembly version.
+ ///
+ [AttributeLogicalName("minor")]
+ public int? Minor
+ {
+ get
+ {
+ return GetAttributeValue("minor");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the plug-in assembly.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the plug-in assembly was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public System.DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the pluginassembly.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of the plug-in assembly.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the plug-in assembly is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("overwritetime")]
+ public System.DateTime? OverwriteTime
+ {
+ get
+ {
+ return GetAttributeValue("overwritetime");
+ }
+ }
+
+ ///
+ /// File name of the plug-in assembly. Used when the source type is set to 1.
+ ///
+ [AttributeLogicalName("path")]
+ public string Path
+ {
+ get
+ {
+ return GetAttributeValue("path");
+ }
+ set
+ {
+ OnPropertyChanging("Path");
+ SetAttributeValue("path", value);
+ OnPropertyChanged("Path");
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in assembly.
+ ///
+ [AttributeLogicalName("pluginassemblyid")]
+ public Guid? PluginAssemblyId
+ {
+ get
+ {
+ return GetAttributeValue("pluginassemblyid");
+ }
+ set
+ {
+ OnPropertyChanging("PluginAssemblyId");
+ SetAttributeValue("pluginassemblyid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = System.Guid.Empty;
+ }
+ OnPropertyChanged("PluginAssemblyId");
+ }
+ }
+
+ [AttributeLogicalName("pluginassemblyid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ PluginAssemblyId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in assembly.
+ ///
+ [AttributeLogicalName("pluginassemblyidunique")]
+ public Guid? PluginAssemblyIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("pluginassemblyidunique");
+ }
+ }
+
+ ///
+ /// Public key token of the assembly. This value can be obtained from the assembly by using reflection.
+ ///
+ [AttributeLogicalName("publickeytoken")]
+ public string PublicKeyToken
+ {
+ get
+ {
+ return GetAttributeValue("publickeytoken");
+ }
+ set
+ {
+ OnPropertyChanging("PublicKeyToken");
+ SetAttributeValue("publickeytoken", value);
+ OnPropertyChanged("PublicKeyToken");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated solution.
+ ///
+ [AttributeLogicalName("solutionid")]
+ public Guid? SolutionId
+ {
+ get
+ {
+ return GetAttributeValue("solutionid");
+ }
+ }
+
+ ///
+ /// Hash of the source of the assembly.
+ ///
+ [AttributeLogicalName("sourcehash")]
+ public string SourceHash
+ {
+ get
+ {
+ return GetAttributeValue("sourcehash");
+ }
+ set
+ {
+ OnPropertyChanging("SourceHash");
+ SetAttributeValue("sourcehash", value);
+ OnPropertyChanged("SourceHash");
+ }
+ }
+
+ ///
+ /// Location of the assembly, for example 0=database, 1=on-disk.
+ ///
+ [AttributeLogicalName("sourcetype")]
+ public OptionSetValue SourceType
+ {
+ get
+ {
+ return GetAttributeValue("sourcetype");
+ }
+ set
+ {
+ OnPropertyChanging("SourceType");
+ SetAttributeValue("sourcetype", value);
+ OnPropertyChanged("SourceType");
+ }
+ }
+
+ ///
+ /// Version number of the assembly. The value can be obtained from the assembly through reflection.
+ ///
+ [AttributeLogicalName("version")]
+ public string Version
+ {
+ get
+ {
+ return GetAttributeValue("version");
+ }
+ set
+ {
+ OnPropertyChanging("Version");
+ SetAttributeValue("version", value);
+ OnPropertyChanged("Version");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+
+ ///
+ /// 1:N pluginassembly_plugintype
+ ///
+ [RelationshipSchemaName("pluginassembly_plugintype")]
+ public IEnumerable pluginassembly_plugintype
+ {
+ get
+ {
+ return GetRelatedEntities("pluginassembly_plugintype", null);
+ }
+ set
+ {
+ OnPropertyChanging("pluginassembly_plugintype");
+ SetRelatedEntities("pluginassembly_plugintype", null, value);
+ OnPropertyChanged("pluginassembly_plugintype");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Ofscrm.PluginRegistration/Entities/PluginType.cs b/Ofscrm.PluginRegistration/Entities/PluginType.cs
new file mode 100644
index 0000000..435128d
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/PluginType.cs
@@ -0,0 +1,449 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Type that inherits from the IPlugin interface and is contained within a plug-in assembly.
+ ///
+ [DataContract()]
+ [EntityLogicalName("plugintype")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class PluginType : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+ ///
+ /// Default Constructor.
+ ///
+ public PluginType() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "plugintype";
+
+ public const int EntityTypeCode = 4602;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Full path name of the plug-in assembly.
+ ///
+ [AttributeLogicalName("assemblyname")]
+ public string AssemblyName
+ {
+ get
+ {
+ return GetAttributeValue("assemblyname");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("componentstate")]
+ public OptionSetValue ComponentState
+ {
+ get
+ {
+ return GetAttributeValue("componentstate");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the plug-in type.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the plug-in type was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the plugintype.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Culture code for the plug-in assembly.
+ ///
+ [AttributeLogicalName("culture")]
+ public string Culture
+ {
+ get
+ {
+ return GetAttributeValue("culture");
+ }
+ }
+
+ ///
+ /// Customization level of the plug-in type.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Description of the plug-in type.
+ ///
+ [AttributeLogicalName("description")]
+ public string Description
+ {
+ get
+ {
+ return GetAttributeValue("description");
+ }
+ set
+ {
+ OnPropertyChanging("Description");
+ SetAttributeValue("description", value);
+ OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// User friendly name for the plug-in.
+ ///
+ [AttributeLogicalName("friendlyname")]
+ public string FriendlyName
+ {
+ get
+ {
+ return GetAttributeValue("friendlyname");
+ }
+ set
+ {
+ OnPropertyChanging("FriendlyName");
+ SetAttributeValue("friendlyname", value);
+ OnPropertyChanged("FriendlyName");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [AttributeLogicalName("ismanaged")]
+ public bool? IsManaged
+ {
+ get
+ {
+ return GetAttributeValue("ismanaged");
+ }
+ }
+
+ ///
+ /// Indicates if the plug-in is a custom activity for workflows.
+ ///
+ [AttributeLogicalName("isworkflowactivity")]
+ public bool? IsWorkflowActivity
+ {
+ get
+ {
+ return GetAttributeValue("isworkflowactivity");
+ }
+ }
+
+ ///
+ /// Major of the version number of the assembly for the plug-in type.
+ ///
+ [AttributeLogicalName("major")]
+ public int? Major
+ {
+ get
+ {
+ return GetAttributeValue("major");
+ }
+ }
+
+ ///
+ /// Minor of the version number of the assembly for the plug-in type.
+ ///
+ [AttributeLogicalName("minor")]
+ public int? Minor
+ {
+ get
+ {
+ return GetAttributeValue("minor");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the plug-in type.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the plug-in type was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the plugintype.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of the plug-in type.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the plug-in type is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("overwritetime")]
+ public DateTime? OverwriteTime
+ {
+ get
+ {
+ return GetAttributeValue("overwritetime");
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in assembly that contains this plug-in type.
+ ///
+ [AttributeLogicalName("pluginassemblyid")]
+ public EntityReference PluginAssemblyId
+ {
+ get
+ {
+ return GetAttributeValue("pluginassemblyid");
+ }
+ set
+ {
+ OnPropertyChanging("PluginAssemblyId");
+ SetAttributeValue("pluginassemblyid", value);
+ OnPropertyChanged("PluginAssemblyId");
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in type.
+ ///
+ [AttributeLogicalName("plugintypeid")]
+ public Guid? PluginTypeId
+ {
+ get
+ {
+ return GetAttributeValue("plugintypeid");
+ }
+ set
+ {
+ OnPropertyChanging("PluginTypeId");
+ SetAttributeValue("plugintypeid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("PluginTypeId");
+ }
+ }
+
+ [AttributeLogicalName("plugintypeid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ PluginTypeId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in type.
+ ///
+ [AttributeLogicalName("plugintypeidunique")]
+ public Guid? PluginTypeIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("plugintypeidunique");
+ }
+ }
+
+ ///
+ /// Public key token of the assembly for the plug-in type.
+ ///
+ [AttributeLogicalName("publickeytoken")]
+ public string PublicKeyToken
+ {
+ get
+ {
+ return GetAttributeValue("publickeytoken");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated solution.
+ ///
+ [AttributeLogicalName("solutionid")]
+ public Guid? SolutionId
+ {
+ get
+ {
+ return GetAttributeValue("solutionid");
+ }
+ }
+
+ ///
+ /// Fully qualified type name of the plug-in type.
+ ///
+ [AttributeLogicalName("typename")]
+ public string TypeName
+ {
+ get
+ {
+ return GetAttributeValue("typename");
+ }
+ set
+ {
+ OnPropertyChanging("TypeName");
+ SetAttributeValue("typename", value);
+ OnPropertyChanged("TypeName");
+ }
+ }
+
+ ///
+ /// Version number of the assembly for the plug-in type.
+ ///
+ [AttributeLogicalName("version")]
+ public string Version
+ {
+ get
+ {
+ return GetAttributeValue("version");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+
+ ///
+ /// Group name of workflow custom activity.
+ ///
+ [AttributeLogicalName("workflowactivitygroupname")]
+ public string WorkflowActivityGroupName
+ {
+ get
+ {
+ return GetAttributeValue("workflowactivitygroupname");
+ }
+ set
+ {
+ OnPropertyChanging("WorkflowActivityGroupName");
+ SetAttributeValue("workflowactivitygroupname", value);
+ OnPropertyChanged("WorkflowActivityGroupName");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessage.cs b/Ofscrm.PluginRegistration/Entities/SdkMessage.cs
new file mode 100644
index 0000000..012d34d
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessage.cs
@@ -0,0 +1,348 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Message that is supported by the SDK.
+ ///
+ [DataContract()]
+ [EntityLogicalName("sdkmessage")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SdkMessage : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SdkMessage() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "sdkmessage";
+
+ public const int EntityTypeCode = 4606;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Information about whether the SDK message is automatically transacted.
+ ///
+ [AttributeLogicalName("autotransact")]
+ public bool? AutoTransact
+ {
+ get
+ {
+ return GetAttributeValue("autotransact");
+ }
+ set
+ {
+ OnPropertyChanging("AutoTransact");
+ SetAttributeValue("autotransact", value);
+ OnPropertyChanged("AutoTransact");
+ }
+ }
+
+ ///
+ /// Identifies where a method will be exposed. 0 - Server, 1 - Client, 2 - both.
+ ///
+ [AttributeLogicalName("availability")]
+ public int? Availability
+ {
+ get
+ {
+ return GetAttributeValue("availability");
+ }
+ set
+ {
+ OnPropertyChanging("Availability");
+ SetAttributeValue("availability", value);
+ OnPropertyChanged("Availability");
+ }
+ }
+
+ ///
+ /// If this is a categorized method, this is the name, otherwise None.
+ ///
+ [AttributeLogicalName("categoryname")]
+ public string CategoryName
+ {
+ get
+ {
+ return GetAttributeValue("categoryname");
+ }
+ set
+ {
+ OnPropertyChanging("CategoryName");
+ SetAttributeValue("categoryname", value);
+ OnPropertyChanged("CategoryName");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the SDK message.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the sdkmessage.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Customization level of the SDK message.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Indicates whether the SDK message should have its requests expanded per primary entity defined in its filters.
+ ///
+ [AttributeLogicalName("expand")]
+ public bool? Expand
+ {
+ get
+ {
+ return GetAttributeValue("expand");
+ }
+ set
+ {
+ OnPropertyChanging("Expand");
+ SetAttributeValue("expand", value);
+ OnPropertyChanged("Expand");
+ }
+ }
+
+ ///
+ /// Indicates whether the SDK message is private.
+ ///
+ [AttributeLogicalName("isprivate")]
+ public bool? IsPrivate
+ {
+ get
+ {
+ return GetAttributeValue("isprivate");
+ }
+ set
+ {
+ OnPropertyChanging("IsPrivate");
+ SetAttributeValue("isprivate", value);
+ OnPropertyChanged("IsPrivate");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the SDK message.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the sdkmessage.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of the SDK message.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the SDK message is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message entity.
+ ///
+ [AttributeLogicalName("sdkmessageid")]
+ public Guid? SdkMessageId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageId");
+ SetAttributeValue("sdkmessageid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("SdkMessageId");
+ }
+ }
+
+ [AttributeLogicalName("sdkmessageid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ SdkMessageId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message.
+ ///
+ [AttributeLogicalName("sdkmessageidunique")]
+ public Guid? SdkMessageIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageidunique");
+ }
+ }
+
+ ///
+ /// Indicates whether the SDK message is a template.
+ ///
+ [AttributeLogicalName("template")]
+ public bool? Template
+ {
+ get
+ {
+ return GetAttributeValue("template");
+ }
+ set
+ {
+ OnPropertyChanging("Template");
+ SetAttributeValue("template", value);
+ OnPropertyChanged("Template");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("throttlesettings")]
+ public string ThrottleSettings
+ {
+ get
+ {
+ return GetAttributeValue("throttlesettings");
+ }
+ }
+
+ ///
+ /// Number that identifies a specific revision of the SDK message.
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessageFilter.cs b/Ofscrm.PluginRegistration/Entities/SdkMessageFilter.cs
new file mode 100644
index 0000000..192034b
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessageFilter.cs
@@ -0,0 +1,300 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Filter that defines which SDK messages are valid for each type of entity.
+ ///
+ [DataContract()]
+ [EntityLogicalName("sdkmessagefilter")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SdkMessageFilter : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SdkMessageFilter() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "sdkmessagefilter";
+
+ public const int EntityTypeCode = 4607;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Identifies where a method will be exposed. 0 - Server, 1 - Client, 2 - both.
+ ///
+ [AttributeLogicalName("availability")]
+ public int? Availability
+ {
+ get
+ {
+ return GetAttributeValue("availability");
+ }
+ set
+ {
+ OnPropertyChanging("Availability");
+ SetAttributeValue("availability", value);
+ OnPropertyChanged("Availability");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the SDK message filter.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message filter was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public System.DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the sdkmessagefilter.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Customization level of the SDK message filter.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Indicates whether a custom SDK message processing step is allowed.
+ ///
+ [AttributeLogicalName("iscustomprocessingstepallowed")]
+ public bool? IsCustomProcessingStepAllowed
+ {
+ get
+ {
+ return GetAttributeValue("iscustomprocessingstepallowed");
+ }
+ set
+ {
+ OnPropertyChanging("IsCustomProcessingStepAllowed");
+ SetAttributeValue("iscustomprocessingstepallowed", value);
+ OnPropertyChanged("IsCustomProcessingStepAllowed");
+ }
+ }
+
+ ///
+ /// Indicates whether the filter should be visible.
+ ///
+ [AttributeLogicalName("isvisible")]
+ public bool? IsVisible
+ {
+ get
+ {
+ return GetAttributeValue("isvisible");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the SDK message filter.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message filter was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public System.DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the sdkmessagefilter.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the SDK message filter is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// Type of entity with which the SDK message filter is primarily associated.
+ ///
+ [AttributeLogicalName("primaryobjecttypecode")]
+ public string PrimaryObjectTypeCode
+ {
+ get
+ {
+ return GetAttributeValue("primaryobjecttypecode");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message filter entity.
+ ///
+ [AttributeLogicalName("sdkmessagefilterid")]
+ public Guid? SdkMessageFilterId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessagefilterid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageFilterId");
+ SetAttributeValue("sdkmessagefilterid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("SdkMessageFilterId");
+ }
+ }
+
+ [AttributeLogicalName("sdkmessagefilterid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ SdkMessageFilterId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message filter.
+ ///
+ [AttributeLogicalName("sdkmessagefilteridunique")]
+ public Guid? SdkMessageFilterIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessagefilteridunique");
+ }
+ }
+
+ ///
+ /// Unique identifier of the related SDK message.
+ ///
+ [AttributeLogicalName("sdkmessageid")]
+ public EntityReference SdkMessageId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageId");
+ SetAttributeValue("sdkmessageid", value);
+ OnPropertyChanged("SdkMessageId");
+ }
+ }
+
+ ///
+ /// Type of entity with which the SDK message filter is secondarily associated.
+ ///
+ [AttributeLogicalName("secondaryobjecttypecode")]
+ public string SecondaryObjectTypeCode
+ {
+ get
+ {
+ return GetAttributeValue("secondaryobjecttypecode");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStep.cs b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStep.cs
new file mode 100644
index 0000000..4b638b3
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStep.cs
@@ -0,0 +1,660 @@
+using System;
+using System.CodeDom.Compiler;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Stage in the execution pipeline that a plug-in is to execute.
+ ///
+ [DataContract()]
+ [EntityLogicalName("sdkmessageprocessingstep")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SdkMessageProcessingStep : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SdkMessageProcessingStep() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "sdkmessageprocessingstep";
+
+ public const int EntityTypeCode = 4608;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Indicates whether the asynchronous system job is automatically deleted on completion.
+ ///
+ [AttributeLogicalName("asyncautodelete")]
+ public bool? AsyncAutoDelete
+ {
+ get
+ {
+ return GetAttributeValue("asyncautodelete");
+ }
+ set
+ {
+ OnPropertyChanging("AsyncAutoDelete");
+ SetAttributeValue("asyncautodelete", value);
+ OnPropertyChanged("AsyncAutoDelete");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("componentstate")]
+ public OptionSetValue ComponentState
+ {
+ get
+ {
+ return GetAttributeValue("componentstate");
+ }
+ }
+
+ ///
+ /// Step-specific configuration for the plug-in type. Passed to the plug-in constructor at run time.
+ ///
+ [AttributeLogicalName("configuration")]
+ public string Configuration
+ {
+ get
+ {
+ return GetAttributeValue("configuration");
+ }
+ set
+ {
+ OnPropertyChanging("Configuration");
+ SetAttributeValue("configuration", value);
+ OnPropertyChanged("Configuration");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the SDK message processing step.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the sdkmessageprocessingstep.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Customization level of the SDK message processing step.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Description of the SDK message processing step.
+ ///
+ [AttributeLogicalName("description")]
+ public string Description
+ {
+ get
+ {
+ return GetAttributeValue("description");
+ }
+ set
+ {
+ OnPropertyChanging("Description");
+ SetAttributeValue("description", value);
+ OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated event handler.
+ ///
+ [AttributeLogicalName("eventhandler")]
+ public EntityReference EventHandler
+ {
+ get
+ {
+ return GetAttributeValue("eventhandler");
+ }
+ set
+ {
+ OnPropertyChanging("EventHandler");
+ SetAttributeValue("eventhandler", value);
+ OnPropertyChanged("EventHandler");
+ }
+ }
+
+ ///
+ /// Comma-separated list of attributes. If at least one of these attributes is modified, the plug-in should execute.
+ ///
+ [AttributeLogicalName("filteringattributes")]
+ public string FilteringAttributes
+ {
+ get
+ {
+ return GetAttributeValue("filteringattributes");
+ }
+ set
+ {
+ OnPropertyChanging("FilteringAttributes");
+ SetAttributeValue("filteringattributes", value);
+ OnPropertyChanged("FilteringAttributes");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user to impersonate context when step is executed.
+ ///
+ [AttributeLogicalName("impersonatinguserid")]
+ public EntityReference ImpersonatingUserId
+ {
+ get
+ {
+ return GetAttributeValue("impersonatinguserid");
+ }
+ set
+ {
+ OnPropertyChanging("ImpersonatingUserId");
+ SetAttributeValue("impersonatinguserid", value);
+ OnPropertyChanged("ImpersonatingUserId");
+ }
+ }
+
+ ///
+ /// Identifies if a plug-in should be executed from a parent pipeline, a child pipeline, or both.
+ ///
+ [AttributeLogicalName("invocationsource")]
+ [Obsolete()]
+ public OptionSetValue InvocationSource
+ {
+ get
+ {
+ return GetAttributeValue("invocationsource");
+ }
+ set
+ {
+ OnPropertyChanging("InvocationSource");
+ SetAttributeValue("invocationsource", value);
+ OnPropertyChanged("InvocationSource");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component can be customized.
+ ///
+ [AttributeLogicalName("iscustomizable")]
+ public BooleanManagedProperty IsCustomizable
+ {
+ get
+ {
+ return GetAttributeValue("iscustomizable");
+ }
+ set
+ {
+ OnPropertyChanging("IsCustomizable");
+ SetAttributeValue("iscustomizable", value);
+ OnPropertyChanged("IsCustomizable");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component should be hidden.
+ ///
+ [AttributeLogicalName("ishidden")]
+ public BooleanManagedProperty IsHidden
+ {
+ get
+ {
+ return GetAttributeValue("ishidden");
+ }
+ set
+ {
+ OnPropertyChanging("IsHidden");
+ SetAttributeValue("ishidden", value);
+ OnPropertyChanged("IsHidden");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component is managed.
+ ///
+ [AttributeLogicalName("ismanaged")]
+ public bool? IsManaged
+ {
+ get
+ {
+ return GetAttributeValue("ismanaged");
+ }
+ }
+
+ ///
+ /// Run-time mode of execution, for example, synchronous or asynchronous.
+ ///
+ [AttributeLogicalName("mode")]
+ public OptionSetValue Mode
+ {
+ get
+ {
+ return GetAttributeValue("mode");
+ }
+ set
+ {
+ OnPropertyChanging("Mode");
+ SetAttributeValue("mode", value);
+ OnPropertyChanged("Mode");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the SDK message processing step.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the sdkmessageprocessingstep.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of SdkMessage processing step.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the SDK message processing step is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("overwritetime")]
+ public DateTime? OverwriteTime
+ {
+ get
+ {
+ return GetAttributeValue("overwritetime");
+ }
+ }
+
+ ///
+ /// Unique identifier of the plug-in type associated with the step.
+ ///
+ [AttributeLogicalName("plugintypeid")]
+ [Obsolete()]
+ public EntityReference PluginTypeId
+ {
+ get
+ {
+ return GetAttributeValue("plugintypeid");
+ }
+ set
+ {
+ OnPropertyChanging("PluginTypeId");
+ SetAttributeValue("plugintypeid", value);
+ OnPropertyChanged("PluginTypeId");
+ }
+ }
+
+ ///
+ /// Processing order within the stage.
+ ///
+ [AttributeLogicalName("rank")]
+ public int? Rank
+ {
+ get
+ {
+ return GetAttributeValue("rank");
+ }
+ set
+ {
+ OnPropertyChanging("Rank");
+ SetAttributeValue("rank", value);
+ OnPropertyChanged("Rank");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message filter.
+ ///
+ [AttributeLogicalName("sdkmessagefilterid")]
+ public EntityReference SdkMessageFilterId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessagefilterid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageFilterId");
+ SetAttributeValue("sdkmessagefilterid", value);
+ OnPropertyChanged("SdkMessageFilterId");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message.
+ ///
+ [AttributeLogicalName("sdkmessageid")]
+ public EntityReference SdkMessageId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageId");
+ SetAttributeValue("sdkmessageid", value);
+ OnPropertyChanged("SdkMessageId");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step entity.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepid")]
+ public Guid? SdkMessageProcessingStepId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageProcessingStepId");
+ SetAttributeValue("sdkmessageprocessingstepid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("SdkMessageProcessingStepId");
+ }
+ }
+
+ [AttributeLogicalName("sdkmessageprocessingstepid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ SdkMessageProcessingStepId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepidunique")]
+ public Guid? SdkMessageProcessingStepIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepidunique");
+ }
+ }
+
+ ///
+ /// Unique identifier of the Sdk message processing step secure configuration.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepsecureconfigid")]
+ public EntityReference SdkMessageProcessingStepSecureConfigId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepsecureconfigid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageProcessingStepSecureConfigId");
+ SetAttributeValue("sdkmessageprocessingstepsecureconfigid", value);
+ OnPropertyChanged("SdkMessageProcessingStepSecureConfigId");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated solution.
+ ///
+ [AttributeLogicalName("solutionid")]
+ public Guid? SolutionId
+ {
+ get
+ {
+ return GetAttributeValue("solutionid");
+ }
+ }
+
+ ///
+ /// Stage in the execution pipeline that the SDK message processing step is in.
+ ///
+ [AttributeLogicalName("stage")]
+ public OptionSetValue Stage
+ {
+ get
+ {
+ return GetAttributeValue("stage");
+ }
+ set
+ {
+ OnPropertyChanging("Stage");
+ SetAttributeValue("stage", value);
+ OnPropertyChanged("Stage");
+ }
+ }
+
+ ///
+ /// Status of the SDK message processing step.
+ ///
+ [AttributeLogicalName("statecode")]
+ public SdkMessageProcessingStepState? StateCode
+ {
+ get
+ {
+ OptionSetValue optionSet = GetAttributeValue("statecode");
+ if ((optionSet != null))
+ {
+ return ((SdkMessageProcessingStepState)(System.Enum.ToObject(typeof(SdkMessageProcessingStepState), optionSet.Value)));
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+
+ ///
+ /// Reason for the status of the SDK message processing step.
+ ///
+ [AttributeLogicalName("statuscode")]
+ public OptionSetValue StatusCode
+ {
+ get
+ {
+ return GetAttributeValue("statuscode");
+ }
+ set
+ {
+ OnPropertyChanging("StatusCode");
+ SetAttributeValue("statuscode", value);
+ OnPropertyChanged("StatusCode");
+ }
+ }
+
+ ///
+ /// Deployment that the SDK message processing step should be executed on; server, client, or both.
+ ///
+ [AttributeLogicalName("supporteddeployment")]
+ public OptionSetValue SupportedDeployment
+ {
+ get
+ {
+ return GetAttributeValue("supporteddeployment");
+ }
+ set
+ {
+ OnPropertyChanging("SupportedDeployment");
+ SetAttributeValue("supporteddeployment", value);
+ OnPropertyChanged("SupportedDeployment");
+ }
+ }
+
+ ///
+ /// Number that identifies a specific revision of the SDK message processing step.
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+
+ ///
+ /// 1:N sdkmessageprocessingstepid_sdkmessageprocessingstepimage
+ ///
+ [RelationshipSchemaName("sdkmessageprocessingstepid_sdkmessageprocessingstepimage")]
+ public IEnumerable sdkmessageprocessingstepid_sdkmessageprocessingstepimage
+ {
+ get
+ {
+ return GetRelatedEntities("sdkmessageprocessingstepid_sdkmessageprocessingstepimage", null);
+ }
+ set
+ {
+ OnPropertyChanging("sdkmessageprocessingstepid_sdkmessageprocessingstepimage");
+ SetRelatedEntities("sdkmessageprocessingstepid_sdkmessageprocessingstepimage", null, value);
+ OnPropertyChanged("sdkmessageprocessingstepid_sdkmessageprocessingstepimage");
+ }
+ }
+
+ ///
+ /// N:1 sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepsecureconfigid")]
+ [RelationshipSchemaName("sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep")]
+ public SdkMessageProcessingStepSecureConfig sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep
+ {
+ get
+ {
+ return GetRelatedEntity("sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep", null);
+ }
+ set
+ {
+ OnPropertyChanging("sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep");
+ SetRelatedEntity("sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep", null, value);
+ OnPropertyChanged("sdkmessageprocessingstepsecureconfigid_sdkmessageprocessingstep");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepImage.cs b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepImage.cs
new file mode 100644
index 0000000..cd22ca5
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepImage.cs
@@ -0,0 +1,420 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Copy of an entity's attributes before or after the core system operation.
+ ///
+ [DataContract()]
+ [EntityLogicalName("sdkmessageprocessingstepimage")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SdkMessageProcessingStepImage : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SdkMessageProcessingStepImage() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "sdkmessageprocessingstepimage";
+
+ public const int EntityTypeCode = 4615;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Comma-separated list of attributes that are to be passed into the SDK message processing step image.
+ ///
+ [AttributeLogicalName("attributes")]
+ public string Attributes1
+ {
+ get
+ {
+ return GetAttributeValue("attributes");
+ }
+ set
+ {
+ OnPropertyChanging("Attributes1");
+ SetAttributeValue("attributes", value);
+ OnPropertyChanged("Attributes1");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("componentstate")]
+ public OptionSetValue ComponentState
+ {
+ get
+ {
+ return GetAttributeValue("componentstate");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the SDK message processing step image.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step image was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the sdkmessageprocessingstepimage.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Customization level of the SDK message processing step image.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Description of the SDK message processing step image.
+ ///
+ [AttributeLogicalName("description")]
+ public string Description
+ {
+ get
+ {
+ return GetAttributeValue("description");
+ }
+ set
+ {
+ OnPropertyChanging("Description");
+ SetAttributeValue("description", value);
+ OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// Key name used to access the pre-image or post-image property bags in a step.
+ ///
+ [AttributeLogicalName("entityalias")]
+ public string EntityAlias
+ {
+ get
+ {
+ return GetAttributeValue("entityalias");
+ }
+ set
+ {
+ OnPropertyChanging("EntityAlias");
+ SetAttributeValue("entityalias", value);
+ OnPropertyChanged("EntityAlias");
+ }
+ }
+
+ ///
+ /// Type of image requested.
+ ///
+ [AttributeLogicalName("imagetype")]
+ public OptionSetValue ImageType
+ {
+ get
+ {
+ return GetAttributeValue("imagetype");
+ }
+ set
+ {
+ OnPropertyChanging("ImageType");
+ SetAttributeValue("imagetype", value);
+ OnPropertyChanged("ImageType");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component can be customized.
+ ///
+ [AttributeLogicalName("iscustomizable")]
+ public BooleanManagedProperty IsCustomizable
+ {
+ get
+ {
+ return GetAttributeValue("iscustomizable");
+ }
+ set
+ {
+ OnPropertyChanging("IsCustomizable");
+ SetAttributeValue("iscustomizable", value);
+ OnPropertyChanged("IsCustomizable");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [AttributeLogicalName("ismanaged")]
+ public bool? IsManaged
+ {
+ get
+ {
+ return GetAttributeValue("ismanaged");
+ }
+ }
+
+ ///
+ /// Name of the property on the Request message.
+ ///
+ [AttributeLogicalName("messagepropertyname")]
+ public string MessagePropertyName
+ {
+ get
+ {
+ return GetAttributeValue("messagepropertyname");
+ }
+ set
+ {
+ OnPropertyChanging("MessagePropertyName");
+ SetAttributeValue("messagepropertyname", value);
+ OnPropertyChanged("MessagePropertyName");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the SDK message processing step.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the sdkmessageprocessingstepimage.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of SdkMessage processing step image.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the SDK message processing step is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("overwritetime")]
+ public DateTime? OverwriteTime
+ {
+ get
+ {
+ return GetAttributeValue("overwritetime");
+ }
+ }
+
+ ///
+ /// Name of the related entity.
+ ///
+ [AttributeLogicalName("relatedattributename")]
+ public string RelatedAttributeName
+ {
+ get
+ {
+ return GetAttributeValue("relatedattributename");
+ }
+ set
+ {
+ OnPropertyChanging("RelatedAttributeName");
+ SetAttributeValue("relatedattributename", value);
+ OnPropertyChanged("RelatedAttributeName");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepid")]
+ public EntityReference SdkMessageProcessingStepId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageProcessingStepId");
+ SetAttributeValue("sdkmessageprocessingstepid", value);
+ OnPropertyChanged("SdkMessageProcessingStepId");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step image entity.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepimageid")]
+ public Guid? SdkMessageProcessingStepImageId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepimageid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageProcessingStepImageId");
+ SetAttributeValue("sdkmessageprocessingstepimageid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("SdkMessageProcessingStepImageId");
+ }
+ }
+
+ [AttributeLogicalName("sdkmessageprocessingstepimageid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ SdkMessageProcessingStepImageId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step image.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepimageidunique")]
+ public Guid? SdkMessageProcessingStepImageIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepimageidunique");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated solution.
+ ///
+ [AttributeLogicalName("solutionid")]
+ public Guid? SolutionId
+ {
+ get
+ {
+ return GetAttributeValue("solutionid");
+ }
+ }
+
+ ///
+ /// Number that identifies a specific revision of the step image.
+ ///
+ [AttributeLogicalName("versionnumber")]
+ public long? VersionNumber
+ {
+ get
+ {
+ return GetAttributeValue("versionnumber");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepSecureConfig.cs b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepSecureConfig.cs
new file mode 100644
index 0000000..0a294a5
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepSecureConfig.cs
@@ -0,0 +1,216 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Non-public custom configuration that is passed to a plug-in's constructor.
+ ///
+ [DataContract()]
+ [EntityLogicalName("sdkmessageprocessingstepsecureconfig")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SdkMessageProcessingStepSecureConfig : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SdkMessageProcessingStepSecureConfig() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "sdkmessageprocessingstepsecureconfig";
+
+ public const int EntityTypeCode = 4616;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new System.ComponentModel.PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the SDK message processing step.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the sdkmessageprocessingstepsecureconfig.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Customization level of the SDK message processing step secure configuration.
+ ///
+ [AttributeLogicalName("customizationlevel")]
+ public int? CustomizationLevel
+ {
+ get
+ {
+ return GetAttributeValue("customizationlevel");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the SDK message processing step.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the SDK message processing step was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who last modified the sdkmessageprocessingstepsecureconfig.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the SDK message processing step is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step secure configuration.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepsecureconfigid")]
+ public Guid? SdkMessageProcessingStepSecureConfigId
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepsecureconfigid");
+ }
+ set
+ {
+ OnPropertyChanging("SdkMessageProcessingStepSecureConfigId");
+ SetAttributeValue("sdkmessageprocessingstepsecureconfigid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = Guid.Empty;
+ }
+ OnPropertyChanged("SdkMessageProcessingStepSecureConfigId");
+ }
+ }
+
+ [AttributeLogicalName("sdkmessageprocessingstepsecureconfigid")]
+ public override Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ SdkMessageProcessingStepSecureConfigId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the SDK message processing step.
+ ///
+ [AttributeLogicalName("sdkmessageprocessingstepsecureconfigidunique")]
+ public Guid? SdkMessageProcessingStepSecureConfigIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("sdkmessageprocessingstepsecureconfigidunique");
+ }
+ }
+
+ ///
+ /// Secure step-specific configuration for the plug-in type that is passed to the plug-in's constructor at run time.
+ ///
+ [AttributeLogicalName("secureconfig")]
+ public string SecureConfig
+ {
+ get
+ {
+ return GetAttributeValue("secureconfig");
+ }
+ set
+ {
+ OnPropertyChanging("SecureConfig");
+ SetAttributeValue("secureconfig", value);
+ OnPropertyChanged("SecureConfig");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepState.cs b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepState.cs
new file mode 100644
index 0000000..c9809ec
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SdkMessageProcessingStepState.cs
@@ -0,0 +1,17 @@
+using System.CodeDom.Compiler;
+using System.Runtime.Serialization;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ [DataContract()]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public enum SdkMessageProcessingStepState
+ {
+
+ [EnumMember()]
+ Enabled = 0,
+
+ [EnumMember()]
+ Disabled = 1,
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/ServiceEndpoint.cs b/Ofscrm.PluginRegistration/Entities/ServiceEndpoint.cs
new file mode 100644
index 0000000..f13a5bd
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/ServiceEndpoint.cs
@@ -0,0 +1,377 @@
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Service endpoint that can be contacted.
+ ///
+ [DataContract()]
+ [EntityLogicalName("serviceendpoint")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class ServiceEndpoint : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public ServiceEndpoint() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "serviceendpoint";
+
+ public const int EntityTypeCode = 4618;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("componentstate")]
+ public OptionSetValue ComponentState
+ {
+ get
+ {
+ return GetAttributeValue("componentstate");
+ }
+ }
+
+ ///
+ /// Connection mode to contact the service endpoint.
+ ///
+ [AttributeLogicalName("connectionmode")]
+ public OptionSetValue ConnectionMode
+ {
+ get
+ {
+ return GetAttributeValue("connectionmode");
+ }
+ set
+ {
+ OnPropertyChanging("ConnectionMode");
+ SetAttributeValue("connectionmode", value);
+ OnPropertyChanged("ConnectionMode");
+ }
+ }
+
+ ///
+ /// Type of the endpoint contract.
+ ///
+ [AttributeLogicalName("contract")]
+ public OptionSetValue Contract
+ {
+ get
+ {
+ return GetAttributeValue("contract");
+ }
+ set
+ {
+ OnPropertyChanging("Contract");
+ SetAttributeValue("contract", value);
+ OnPropertyChanged("Contract");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the service endpoint.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the service endpoint was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public System.DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the service endpoint.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Description of the service endpoint.
+ ///
+ [AttributeLogicalName("description")]
+ public string Description
+ {
+ get
+ {
+ return GetAttributeValue("description");
+ }
+ set
+ {
+ OnPropertyChanging("Description");
+ SetAttributeValue("description", value);
+ OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component can be customized.
+ ///
+ [AttributeLogicalName("iscustomizable")]
+ public BooleanManagedProperty IsCustomizable
+ {
+ get
+ {
+ return GetAttributeValue("iscustomizable");
+ }
+ set
+ {
+ OnPropertyChanging("IsCustomizable");
+ SetAttributeValue("iscustomizable", value);
+ OnPropertyChanged("IsCustomizable");
+ }
+ }
+
+ ///
+ /// Information that specifies whether this component is managed.
+ ///
+ [AttributeLogicalName("ismanaged")]
+ public bool? IsManaged
+ {
+ get
+ {
+ return GetAttributeValue("ismanaged");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who last modified the service endpoint.
+ ///
+ [AttributeLogicalName("modifiedby")]
+ public EntityReference ModifiedBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Date and time when the service endpoint was last modified.
+ ///
+ [AttributeLogicalName("modifiedon")]
+ public System.DateTime? ModifiedOn
+ {
+ get
+ {
+ return GetAttributeValue("modifiedon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who modified the service endpoint.
+ ///
+ [AttributeLogicalName("modifiedonbehalfby")]
+ public EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("modifiedonbehalfby");
+ }
+ }
+
+ ///
+ /// Name of Service end point.
+ ///
+ [AttributeLogicalName("name")]
+ public string Name
+ {
+ get
+ {
+ return GetAttributeValue("name");
+ }
+ set
+ {
+ OnPropertyChanging("Name");
+ SetAttributeValue("name", value);
+ OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ /// Unique identifier of the organization with which the service endpoint is associated.
+ ///
+ [AttributeLogicalName("organizationid")]
+ public EntityReference OrganizationId
+ {
+ get
+ {
+ return GetAttributeValue("organizationid");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [AttributeLogicalName("overwritetime")]
+ public System.DateTime? OverwriteTime
+ {
+ get
+ {
+ return GetAttributeValue("overwritetime");
+ }
+ }
+
+ ///
+ /// Path to the service endpoint.
+ ///
+ [AttributeLogicalName("path")]
+ public string Path
+ {
+ get
+ {
+ return GetAttributeValue("path");
+ }
+ set
+ {
+ OnPropertyChanging("Path");
+ SetAttributeValue("path", value);
+ OnPropertyChanged("Path");
+ }
+ }
+
+ ///
+ /// Unique identifier of the service endpoint.
+ ///
+ [AttributeLogicalName("serviceendpointid")]
+ public System.Guid? ServiceEndpointId
+ {
+ get
+ {
+ return GetAttributeValue("serviceendpointid");
+ }
+ set
+ {
+ OnPropertyChanging("ServiceEndpointId");
+ SetAttributeValue("serviceendpointid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = System.Guid.Empty;
+ }
+ OnPropertyChanged("ServiceEndpointId");
+ }
+ }
+
+ [AttributeLogicalName("serviceendpointid")]
+ public override System.Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ ServiceEndpointId = value;
+ }
+ }
+
+ ///
+ /// Unique identifier of the service endpoint.
+ ///
+ [AttributeLogicalName("serviceendpointidunique")]
+ public System.Guid? ServiceEndpointIdUnique
+ {
+ get
+ {
+ return GetAttributeValue("serviceendpointidunique");
+ }
+ }
+
+ ///
+ /// Unique identifier of the associated solution.
+ ///
+ [AttributeLogicalName("solutionid")]
+ public System.Guid? SolutionId
+ {
+ get
+ {
+ return GetAttributeValue("solutionid");
+ }
+ }
+
+ ///
+ /// Namespace of the App Fabric solution.
+ ///
+ [AttributeLogicalName("solutionnamespace")]
+ public string SolutionNamespace
+ {
+ get
+ {
+ return GetAttributeValue("solutionnamespace");
+ }
+ set
+ {
+ OnPropertyChanging("SolutionNamespace");
+ SetAttributeValue("solutionnamespace", value);
+ OnPropertyChanged("SolutionNamespace");
+ }
+ }
+
+ ///
+ /// Additional user claim value type.
+ ///
+ [AttributeLogicalName("userclaim")]
+ public OptionSetValue UserClaim
+ {
+ get
+ {
+ return GetAttributeValue("userclaim");
+ }
+ set
+ {
+ OnPropertyChanging("UserClaim");
+ SetAttributeValue("userclaim", value);
+ OnPropertyChanged("UserClaim");
+ }
+ }
+ }
+}
diff --git a/Ofscrm.PluginRegistration/Entities/SystemUser.cs b/Ofscrm.PluginRegistration/Entities/SystemUser.cs
new file mode 100644
index 0000000..c132936
--- /dev/null
+++ b/Ofscrm.PluginRegistration/Entities/SystemUser.cs
@@ -0,0 +1,1878 @@
+using System;
+using System.CodeDom.Compiler;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+using Microsoft.Xrm.Sdk;
+using Microsoft.Xrm.Sdk.Client;
+
+namespace Ofscrm.PluginRegistration.Entities
+{
+ ///
+ /// Person with access to the Microsoft CRM system and who owns objects in the Microsoft CRM database.
+ ///
+ [DataContract()]
+ [EntityLogicalName("systemuser")]
+ [GeneratedCode("CrmSvcUtil", "5.0.9689.1985")]
+ public partial class SystemUser : Entity, INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ ///
+ /// Default Constructor.
+ ///
+ public SystemUser() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "systemuser";
+
+ public const int EntityTypeCode = 8;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((PropertyChanged != null))
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((PropertyChanging != null))
+ {
+ PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Type of user.
+ ///
+ [AttributeLogicalName("accessmode")]
+ public OptionSetValue AccessMode
+ {
+ get
+ {
+ return GetAttributeValue("accessmode");
+ }
+ set
+ {
+ OnPropertyChanging("AccessMode");
+ SetAttributeValue("accessmode", value);
+ OnPropertyChanged("AccessMode");
+ }
+ }
+
+ ///
+ /// Unique identifier for address 1.
+ ///
+ [AttributeLogicalName("address1_addressid")]
+ public Guid? Address1_AddressId
+ {
+ get
+ {
+ return GetAttributeValue("address1_addressid");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_AddressId");
+ SetAttributeValue("address1_addressid", value);
+ OnPropertyChanged("Address1_AddressId");
+ }
+ }
+
+ ///
+ /// Type of address for address 1, such as billing, shipping, or primary address.
+ ///
+ [AttributeLogicalName("address1_addresstypecode")]
+ public OptionSetValue Address1_AddressTypeCode
+ {
+ get
+ {
+ return GetAttributeValue("address1_addresstypecode");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_AddressTypeCode");
+ SetAttributeValue("address1_addresstypecode", value);
+ OnPropertyChanged("Address1_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// City name for address 1.
+ ///
+ [AttributeLogicalName("address1_city")]
+ public string Address1_City
+ {
+ get
+ {
+ return GetAttributeValue("address1_city");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_City");
+ SetAttributeValue("address1_city", value);
+ OnPropertyChanged("Address1_City");
+ }
+ }
+
+ ///
+ /// Country/region name in address 1.
+ ///
+ [AttributeLogicalName("address1_country")]
+ public string Address1_Country
+ {
+ get
+ {
+ return GetAttributeValue("address1_country");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Country");
+ SetAttributeValue("address1_country", value);
+ OnPropertyChanged("Address1_Country");
+ }
+ }
+
+ ///
+ /// County name for address 1.
+ ///
+ [AttributeLogicalName("address1_county")]
+ public string Address1_County
+ {
+ get
+ {
+ return GetAttributeValue("address1_county");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_County");
+ SetAttributeValue("address1_county", value);
+ OnPropertyChanged("Address1_County");
+ }
+ }
+
+ ///
+ /// Fax number for address 1.
+ ///
+ [AttributeLogicalName("address1_fax")]
+ public string Address1_Fax
+ {
+ get
+ {
+ return GetAttributeValue("address1_fax");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Fax");
+ SetAttributeValue("address1_fax", value);
+ OnPropertyChanged("Address1_Fax");
+ }
+ }
+
+ ///
+ /// Latitude for address 1.
+ ///
+ [AttributeLogicalName("address1_latitude")]
+ public double? Address1_Latitude
+ {
+ get
+ {
+ return GetAttributeValue("address1_latitude");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Latitude");
+ SetAttributeValue("address1_latitude", value);
+ OnPropertyChanged("Address1_Latitude");
+ }
+ }
+
+ ///
+ /// First line for entering address 1 information.
+ ///
+ [AttributeLogicalName("address1_line1")]
+ public string Address1_Line1
+ {
+ get
+ {
+ return GetAttributeValue("address1_line1");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Line1");
+ SetAttributeValue("address1_line1", value);
+ OnPropertyChanged("Address1_Line1");
+ }
+ }
+
+ ///
+ /// Second line for entering address 1 information.
+ ///
+ [AttributeLogicalName("address1_line2")]
+ public string Address1_Line2
+ {
+ get
+ {
+ return GetAttributeValue("address1_line2");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Line2");
+ SetAttributeValue("address1_line2", value);
+ OnPropertyChanged("Address1_Line2");
+ }
+ }
+
+ ///
+ /// Third line for entering address 1 information.
+ ///
+ [AttributeLogicalName("address1_line3")]
+ public string Address1_Line3
+ {
+ get
+ {
+ return GetAttributeValue("address1_line3");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Line3");
+ SetAttributeValue("address1_line3", value);
+ OnPropertyChanged("Address1_Line3");
+ }
+ }
+
+ ///
+ /// Longitude for address 1.
+ ///
+ [AttributeLogicalName("address1_longitude")]
+ public double? Address1_Longitude
+ {
+ get
+ {
+ return GetAttributeValue("address1_longitude");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Longitude");
+ SetAttributeValue("address1_longitude", value);
+ OnPropertyChanged("Address1_Longitude");
+ }
+ }
+
+ ///
+ /// Name to enter for address 1.
+ ///
+ [AttributeLogicalName("address1_name")]
+ public string Address1_Name
+ {
+ get
+ {
+ return GetAttributeValue("address1_name");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Name");
+ SetAttributeValue("address1_name", value);
+ OnPropertyChanged("Address1_Name");
+ }
+ }
+
+ ///
+ /// ZIP Code or postal code for address 1.
+ ///
+ [AttributeLogicalName("address1_postalcode")]
+ public string Address1_PostalCode
+ {
+ get
+ {
+ return GetAttributeValue("address1_postalcode");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_PostalCode");
+ SetAttributeValue("address1_postalcode", value);
+ OnPropertyChanged("Address1_PostalCode");
+ }
+ }
+
+ ///
+ /// Post office box number for address 1.
+ ///
+ [AttributeLogicalName("address1_postofficebox")]
+ public string Address1_PostOfficeBox
+ {
+ get
+ {
+ return GetAttributeValue("address1_postofficebox");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_PostOfficeBox");
+ SetAttributeValue("address1_postofficebox", value);
+ OnPropertyChanged("Address1_PostOfficeBox");
+ }
+ }
+
+ ///
+ /// Method of shipment for address 1.
+ ///
+ [AttributeLogicalName("address1_shippingmethodcode")]
+ public OptionSetValue Address1_ShippingMethodCode
+ {
+ get
+ {
+ return GetAttributeValue("address1_shippingmethodcode");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_ShippingMethodCode");
+ SetAttributeValue("address1_shippingmethodcode", value);
+ OnPropertyChanged("Address1_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// State or province for address 1.
+ ///
+ [AttributeLogicalName("address1_stateorprovince")]
+ public string Address1_StateOrProvince
+ {
+ get
+ {
+ return GetAttributeValue("address1_stateorprovince");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_StateOrProvince");
+ SetAttributeValue("address1_stateorprovince", value);
+ OnPropertyChanged("Address1_StateOrProvince");
+ }
+ }
+
+ ///
+ /// First telephone number associated with address 1.
+ ///
+ [AttributeLogicalName("address1_telephone1")]
+ public string Address1_Telephone1
+ {
+ get
+ {
+ return GetAttributeValue("address1_telephone1");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Telephone1");
+ SetAttributeValue("address1_telephone1", value);
+ OnPropertyChanged("Address1_Telephone1");
+ }
+ }
+
+ ///
+ /// Second telephone number associated with address 1.
+ ///
+ [AttributeLogicalName("address1_telephone2")]
+ public string Address1_Telephone2
+ {
+ get
+ {
+ return GetAttributeValue("address1_telephone2");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Telephone2");
+ SetAttributeValue("address1_telephone2", value);
+ OnPropertyChanged("Address1_Telephone2");
+ }
+ }
+
+ ///
+ /// Third telephone number associated with address 1.
+ ///
+ [AttributeLogicalName("address1_telephone3")]
+ public string Address1_Telephone3
+ {
+ get
+ {
+ return GetAttributeValue("address1_telephone3");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_Telephone3");
+ SetAttributeValue("address1_telephone3", value);
+ OnPropertyChanged("Address1_Telephone3");
+ }
+ }
+
+ ///
+ /// United Parcel Service (UPS) zone for address 1.
+ ///
+ [AttributeLogicalName("address1_upszone")]
+ public string Address1_UPSZone
+ {
+ get
+ {
+ return GetAttributeValue("address1_upszone");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_UPSZone");
+ SetAttributeValue("address1_upszone", value);
+ OnPropertyChanged("Address1_UPSZone");
+ }
+ }
+
+ ///
+ /// UTC offset for address 1. This is the difference between local time and standard Coordinated Universal Time.
+ ///
+ [AttributeLogicalName("address1_utcoffset")]
+ public int? Address1_UTCOffset
+ {
+ get
+ {
+ return GetAttributeValue("address1_utcoffset");
+ }
+ set
+ {
+ OnPropertyChanging("Address1_UTCOffset");
+ SetAttributeValue("address1_utcoffset", value);
+ OnPropertyChanged("Address1_UTCOffset");
+ }
+ }
+
+ ///
+ /// Unique identifier for address 2.
+ ///
+ [AttributeLogicalName("address2_addressid")]
+ public Guid? Address2_AddressId
+ {
+ get
+ {
+ return GetAttributeValue("address2_addressid");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_AddressId");
+ SetAttributeValue("address2_addressid", value);
+ OnPropertyChanged("Address2_AddressId");
+ }
+ }
+
+ ///
+ /// Type of address for address 2, such as billing, shipping, or primary address.
+ ///
+ [AttributeLogicalName("address2_addresstypecode")]
+ public OptionSetValue Address2_AddressTypeCode
+ {
+ get
+ {
+ return GetAttributeValue("address2_addresstypecode");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_AddressTypeCode");
+ SetAttributeValue("address2_addresstypecode", value);
+ OnPropertyChanged("Address2_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// City name for address 2.
+ ///
+ [AttributeLogicalName("address2_city")]
+ public string Address2_City
+ {
+ get
+ {
+ return GetAttributeValue("address2_city");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_City");
+ SetAttributeValue("address2_city", value);
+ OnPropertyChanged("Address2_City");
+ }
+ }
+
+ ///
+ /// Country/region name in address 2.
+ ///
+ [AttributeLogicalName("address2_country")]
+ public string Address2_Country
+ {
+ get
+ {
+ return GetAttributeValue("address2_country");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Country");
+ SetAttributeValue("address2_country", value);
+ OnPropertyChanged("Address2_Country");
+ }
+ }
+
+ ///
+ /// County name for address 2.
+ ///
+ [AttributeLogicalName("address2_county")]
+ public string Address2_County
+ {
+ get
+ {
+ return GetAttributeValue("address2_county");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_County");
+ SetAttributeValue("address2_county", value);
+ OnPropertyChanged("Address2_County");
+ }
+ }
+
+ ///
+ /// Fax number for address 2.
+ ///
+ [AttributeLogicalName("address2_fax")]
+ public string Address2_Fax
+ {
+ get
+ {
+ return GetAttributeValue("address2_fax");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Fax");
+ SetAttributeValue("address2_fax", value);
+ OnPropertyChanged("Address2_Fax");
+ }
+ }
+
+ ///
+ /// Latitude for address 2.
+ ///
+ [AttributeLogicalName("address2_latitude")]
+ public double? Address2_Latitude
+ {
+ get
+ {
+ return GetAttributeValue("address2_latitude");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Latitude");
+ SetAttributeValue("address2_latitude", value);
+ OnPropertyChanged("Address2_Latitude");
+ }
+ }
+
+ ///
+ /// First line for entering address 2 information.
+ ///
+ [AttributeLogicalName("address2_line1")]
+ public string Address2_Line1
+ {
+ get
+ {
+ return GetAttributeValue("address2_line1");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Line1");
+ SetAttributeValue("address2_line1", value);
+ OnPropertyChanged("Address2_Line1");
+ }
+ }
+
+ ///
+ /// Second line for entering address 2 information.
+ ///
+ [AttributeLogicalName("address2_line2")]
+ public string Address2_Line2
+ {
+ get
+ {
+ return GetAttributeValue("address2_line2");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Line2");
+ SetAttributeValue("address2_line2", value);
+ OnPropertyChanged("Address2_Line2");
+ }
+ }
+
+ ///
+ /// Third line for entering address 2 information.
+ ///
+ [AttributeLogicalName("address2_line3")]
+ public string Address2_Line3
+ {
+ get
+ {
+ return GetAttributeValue("address2_line3");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Line3");
+ SetAttributeValue("address2_line3", value);
+ OnPropertyChanged("Address2_Line3");
+ }
+ }
+
+ ///
+ /// Longitude for address 2.
+ ///
+ [AttributeLogicalName("address2_longitude")]
+ public double? Address2_Longitude
+ {
+ get
+ {
+ return GetAttributeValue("address2_longitude");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Longitude");
+ SetAttributeValue("address2_longitude", value);
+ OnPropertyChanged("Address2_Longitude");
+ }
+ }
+
+ ///
+ /// Name to enter for address 2.
+ ///
+ [AttributeLogicalName("address2_name")]
+ public string Address2_Name
+ {
+ get
+ {
+ return GetAttributeValue("address2_name");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Name");
+ SetAttributeValue("address2_name", value);
+ OnPropertyChanged("Address2_Name");
+ }
+ }
+
+ ///
+ /// ZIP Code or postal code for address 2.
+ ///
+ [AttributeLogicalName("address2_postalcode")]
+ public string Address2_PostalCode
+ {
+ get
+ {
+ return GetAttributeValue("address2_postalcode");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_PostalCode");
+ SetAttributeValue("address2_postalcode", value);
+ OnPropertyChanged("Address2_PostalCode");
+ }
+ }
+
+ ///
+ /// Post office box number for address 2.
+ ///
+ [AttributeLogicalName("address2_postofficebox")]
+ public string Address2_PostOfficeBox
+ {
+ get
+ {
+ return GetAttributeValue("address2_postofficebox");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_PostOfficeBox");
+ SetAttributeValue("address2_postofficebox", value);
+ OnPropertyChanged("Address2_PostOfficeBox");
+ }
+ }
+
+ ///
+ /// Method of shipment for address 2.
+ ///
+ [AttributeLogicalName("address2_shippingmethodcode")]
+ public OptionSetValue Address2_ShippingMethodCode
+ {
+ get
+ {
+ return GetAttributeValue("address2_shippingmethodcode");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_ShippingMethodCode");
+ SetAttributeValue("address2_shippingmethodcode", value);
+ OnPropertyChanged("Address2_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// State or province for address 2.
+ ///
+ [AttributeLogicalName("address2_stateorprovince")]
+ public string Address2_StateOrProvince
+ {
+ get
+ {
+ return GetAttributeValue("address2_stateorprovince");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_StateOrProvince");
+ SetAttributeValue("address2_stateorprovince", value);
+ OnPropertyChanged("Address2_StateOrProvince");
+ }
+ }
+
+ ///
+ /// First telephone number associated with address 2.
+ ///
+ [AttributeLogicalName("address2_telephone1")]
+ public string Address2_Telephone1
+ {
+ get
+ {
+ return GetAttributeValue("address2_telephone1");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Telephone1");
+ SetAttributeValue("address2_telephone1", value);
+ OnPropertyChanged("Address2_Telephone1");
+ }
+ }
+
+ ///
+ /// Second telephone number associated with address 2.
+ ///
+ [AttributeLogicalName("address2_telephone2")]
+ public string Address2_Telephone2
+ {
+ get
+ {
+ return GetAttributeValue("address2_telephone2");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Telephone2");
+ SetAttributeValue("address2_telephone2", value);
+ OnPropertyChanged("Address2_Telephone2");
+ }
+ }
+
+ ///
+ /// Third telephone number associated with address 2.
+ ///
+ [AttributeLogicalName("address2_telephone3")]
+ public string Address2_Telephone3
+ {
+ get
+ {
+ return GetAttributeValue("address2_telephone3");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_Telephone3");
+ SetAttributeValue("address2_telephone3", value);
+ OnPropertyChanged("Address2_Telephone3");
+ }
+ }
+
+ ///
+ /// United Parcel Service (UPS) zone for address 2.
+ ///
+ [AttributeLogicalName("address2_upszone")]
+ public string Address2_UPSZone
+ {
+ get
+ {
+ return GetAttributeValue("address2_upszone");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_UPSZone");
+ SetAttributeValue("address2_upszone", value);
+ OnPropertyChanged("Address2_UPSZone");
+ }
+ }
+
+ ///
+ /// UTC offset for address 2. This is the difference between local time and standard Coordinated Universal Time.
+ ///
+ [AttributeLogicalName("address2_utcoffset")]
+ public int? Address2_UTCOffset
+ {
+ get
+ {
+ return GetAttributeValue("address2_utcoffset");
+ }
+ set
+ {
+ OnPropertyChanging("Address2_UTCOffset");
+ SetAttributeValue("address2_utcoffset", value);
+ OnPropertyChanged("Address2_UTCOffset");
+ }
+ }
+
+ ///
+ /// Unique identifier of the business unit with which the user is associated.
+ ///
+ [AttributeLogicalName("businessunitid")]
+ public EntityReference BusinessUnitId
+ {
+ get
+ {
+ return GetAttributeValue("businessunitid");
+ }
+ set
+ {
+ OnPropertyChanging("BusinessUnitId");
+ SetAttributeValue("businessunitid", value);
+ OnPropertyChanged("BusinessUnitId");
+ }
+ }
+
+ ///
+ /// Fiscal calendar associated with the user.
+ ///
+ [AttributeLogicalName("calendarid")]
+ public EntityReference CalendarId
+ {
+ get
+ {
+ return GetAttributeValue("calendarid");
+ }
+ set
+ {
+ OnPropertyChanging("CalendarId");
+ SetAttributeValue("calendarid", value);
+ OnPropertyChanged("CalendarId");
+ }
+ }
+
+ ///
+ /// License type of user.
+ ///
+ [AttributeLogicalName("caltype")]
+ public OptionSetValue CALType
+ {
+ get
+ {
+ return GetAttributeValue("caltype");
+ }
+ set
+ {
+ OnPropertyChanging("CALType");
+ SetAttributeValue("caltype", value);
+ OnPropertyChanged("CALType");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who created the user.
+ ///
+ [AttributeLogicalName("createdby")]
+ public EntityReference CreatedBy
+ {
+ get
+ {
+ return GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Date and time when the user was created.
+ ///
+ [AttributeLogicalName("createdon")]
+ public DateTime? CreatedOn
+ {
+ get
+ {
+ return GetAttributeValue("createdon");
+ }
+ }
+
+ ///
+ /// Unique identifier of the delegate user who created the systemuser.
+ ///
+ [AttributeLogicalName("createdonbehalfby")]
+ public EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return GetAttributeValue("createdonbehalfby");
+ }
+ }
+
+ ///
+ /// Indicates if default outlook filters have been populated.
+ ///
+ [AttributeLogicalName("defaultfilterspopulated")]
+ public bool? DefaultFiltersPopulated
+ {
+ get
+ {
+ return GetAttributeValue("defaultfilterspopulated");
+ }
+ }
+
+ ///
+ /// Reason for disabling the user.
+ ///
+ [AttributeLogicalName("disabledreason")]
+ public string DisabledReason
+ {
+ get
+ {
+ return GetAttributeValue("disabledreason");
+ }
+ }
+
+ ///
+ /// Whether to display the user in service views.
+ ///
+ [AttributeLogicalName("displayinserviceviews")]
+ public bool? DisplayInServiceViews
+ {
+ get
+ {
+ return GetAttributeValue("displayinserviceviews");
+ }
+ set
+ {
+ OnPropertyChanging("DisplayInServiceViews");
+ SetAttributeValue("displayinserviceviews", value);
+ OnPropertyChanged("DisplayInServiceViews");
+ }
+ }
+
+ ///
+ /// Active Directory domain of which the user is a member.
+ ///
+ [AttributeLogicalName("domainname")]
+ public string DomainName
+ {
+ get
+ {
+ return GetAttributeValue("domainname");
+ }
+ set
+ {
+ OnPropertyChanging("DomainName");
+ SetAttributeValue("domainname", value);
+ OnPropertyChanged("DomainName");
+ }
+ }
+
+ ///
+ /// Shows the status of the primary e-mail address.
+ ///
+ [AttributeLogicalName("emailrouteraccessapproval")]
+ public OptionSetValue EmailRouterAccessApproval
+ {
+ get
+ {
+ return GetAttributeValue("emailrouteraccessapproval");
+ }
+ set
+ {
+ OnPropertyChanging("EmailRouterAccessApproval");
+ SetAttributeValue("emailrouteraccessapproval", value);
+ OnPropertyChanged("EmailRouterAccessApproval");
+ }
+ }
+
+ ///
+ /// Employee identifier for the user.
+ ///
+ [AttributeLogicalName("employeeid")]
+ public string EmployeeId
+ {
+ get
+ {
+ return GetAttributeValue("employeeid");
+ }
+ set
+ {
+ OnPropertyChanging("EmployeeId");
+ SetAttributeValue("employeeid", value);
+ OnPropertyChanged("EmployeeId");
+ }
+ }
+
+ ///
+ /// Exchange rate for the currency associated with the systemuser with respect to the base currency.
+ ///
+ [AttributeLogicalName("exchangerate")]
+ public decimal? ExchangeRate
+ {
+ get
+ {
+ return GetAttributeValue>("exchangerate");
+ }
+ }
+
+ ///
+ /// First name of the user.
+ ///
+ [AttributeLogicalName("firstname")]
+ public string FirstName
+ {
+ get
+ {
+ return GetAttributeValue("firstname");
+ }
+ set
+ {
+ OnPropertyChanging("FirstName");
+ SetAttributeValue("firstname", value);
+ OnPropertyChanged("FirstName");
+ }
+ }
+
+ ///
+ /// Full name of the user.
+ ///
+ [AttributeLogicalName("fullname")]
+ public string FullName
+ {
+ get
+ {
+ return GetAttributeValue("fullname");
+ }
+ }
+
+ ///
+ /// Government identifier for the user.
+ ///
+ [AttributeLogicalName("governmentid")]
+ public string GovernmentId
+ {
+ get
+ {
+ return GetAttributeValue("governmentid");
+ }
+ set
+ {
+ OnPropertyChanging("GovernmentId");
+ SetAttributeValue("governmentid", value);
+ OnPropertyChanged("GovernmentId");
+ }
+ }
+
+ ///
+ /// Home phone number for the user.
+ ///
+ [AttributeLogicalName("homephone")]
+ public string HomePhone
+ {
+ get
+ {
+ return GetAttributeValue("homephone");
+ }
+ set
+ {
+ OnPropertyChanging("HomePhone");
+ SetAttributeValue("homephone", value);
+ OnPropertyChanged("HomePhone");
+ }
+ }
+
+ ///
+ /// Unique identifier of the data import or data migration that created this record.
+ ///
+ [AttributeLogicalName("importsequencenumber")]
+ public int? ImportSequenceNumber
+ {
+ get
+ {
+ return GetAttributeValue("importsequencenumber");
+ }
+ set
+ {
+ OnPropertyChanging("ImportSequenceNumber");
+ SetAttributeValue("importsequencenumber", value);
+ OnPropertyChanged("ImportSequenceNumber");
+ }
+ }
+
+ ///
+ /// Incoming e-mail delivery method for the user.
+ ///
+ [AttributeLogicalName("incomingemaildeliverymethod")]
+ public OptionSetValue IncomingEmailDeliveryMethod
+ {
+ get
+ {
+ return GetAttributeValue("incomingemaildeliverymethod");
+ }
+ set
+ {
+ OnPropertyChanging("IncomingEmailDeliveryMethod");
+ SetAttributeValue("incomingemaildeliverymethod", value);
+ OnPropertyChanged("IncomingEmailDeliveryMethod");
+ }
+ }
+
+ ///
+ /// Internal e-mail address for the user.
+ ///
+ [AttributeLogicalName("internalemailaddress")]
+ public string InternalEMailAddress
+ {
+ get
+ {
+ return GetAttributeValue("internalemailaddress");
+ }
+ set
+ {
+ OnPropertyChanging("InternalEMailAddress");
+ SetAttributeValue("internalemailaddress", value);
+ OnPropertyChanged("InternalEMailAddress");
+ }
+ }
+
+ ///
+ /// User invitation status.
+ ///
+ [AttributeLogicalName("invitestatuscode")]
+ public OptionSetValue InviteStatusCode
+ {
+ get
+ {
+ return GetAttributeValue("invitestatuscode");
+ }
+ set
+ {
+ OnPropertyChanging("InviteStatusCode");
+ SetAttributeValue("invitestatuscode", value);
+ OnPropertyChanged("InviteStatusCode");
+ }
+ }
+
+ ///
+ /// Information about whether the user is enabled.
+ ///
+ [AttributeLogicalName("isdisabled")]
+ public bool? IsDisabled
+ {
+ get
+ {
+ return GetAttributeValue("isdisabled");
+ }
+ }
+
+ ///
+ /// Check if user is an integration user.
+ ///
+ [AttributeLogicalName("isintegrationuser")]
+ public bool? IsIntegrationUser
+ {
+ get
+ {
+ return GetAttributeValue("isintegrationuser");
+ }
+ set
+ {
+ OnPropertyChanging("IsIntegrationUser");
+ SetAttributeValue("isintegrationuser", value);
+ OnPropertyChanged("IsIntegrationUser");
+ }
+ }
+
+ ///