diff --git a/src/Build.Common.core.props b/src/Build.Common.core.props
index ba3ec86..578c4c6 100644
--- a/src/Build.Common.core.props
+++ b/src/Build.Common.core.props
@@ -5,7 +5,7 @@
- net462;net472;net48;netcoreapp3.0;netcoreapp3.1
+ net462;net472;net48;netcoreapp3.0;netcoreapp3.1;netstandard2.0
false
diff --git a/src/GeneralTools/DataverseClient/Client/Auth/AuthProcessor.cs b/src/GeneralTools/DataverseClient/Client/Auth/AuthProcessor.cs
index 50e1bbe..ea18821 100644
--- a/src/GeneralTools/DataverseClient/Client/Auth/AuthProcessor.cs
+++ b/src/GeneralTools/DataverseClient/Client/Auth/AuthProcessor.cs
@@ -1,4 +1,4 @@
-using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Identity.Client;
using Microsoft.PowerPlatform.Dataverse.Client.Auth.TokenCache;
using Microsoft.PowerPlatform.Dataverse.Client.Utils;
@@ -90,11 +90,11 @@ internal async static Task ExecuteAuthenticateServ
}
else
{
- var rslt = GetAuthorityFromTargetServiceAsync(ClientServiceProviders.Instance.GetService(), processResult.TargetServiceUrl, logSink).ConfigureAwait(false).GetAwaiter().GetResult();
- if (!string.IsNullOrEmpty(rslt.Authority))
+ var details = GetAuthorityFromTargetServiceAsync(ClientServiceProviders.Instance.GetService(), processResult.TargetServiceUrl, logSink).ConfigureAwait(false).GetAwaiter().GetResult();
+ if (details.Success)
{
- Authority = rslt.Authority;
- Resource = rslt.Resource;
+ Authority = details.Authority.AbsoluteUri;
+ Resource = details.Resource.AbsoluteUri;
}
else
throw new ArgumentNullException("Authority", "Need a non-empty authority");
@@ -446,18 +446,6 @@ internal static UriBuilder GetUriBuilderWithVersion(Uri discoveryServiceUri)
return versionTaggedUriBuilder;
}
-
- private const string AuthenticateHeader = "WWW-Authenticate";
- private const string Bearer = "bearer";
- private const string AuthorityKey = "authorization_uri";
- private const string ResourceKey = "resource_id";
-
- internal class AuthRoutingProperties
- {
- public string Authority { get; set; }
- public string Resource { get; set; }
- }
-
///
/// Get authority and resource for this instance.
///
@@ -465,66 +453,11 @@ internal class AuthRoutingProperties
/// Logger to write info too
/// HTTP Client factory to use for this request.
///
- private static async Task GetAuthorityFromTargetServiceAsync(IHttpClientFactory clientFactory, Uri targetServiceUrl, DataverseTraceLogger logger)
+ private static async Task GetAuthorityFromTargetServiceAsync(IHttpClientFactory clientFactory, Uri targetServiceUrl, DataverseTraceLogger logger)
{
- AuthRoutingProperties authRoutingProperties = new AuthRoutingProperties();
var client = clientFactory.CreateClient("DataverseHttpClientFactory");
- var rslt = await client.GetAsync(targetServiceUrl).ConfigureAwait(false);
-
- if (rslt.StatusCode == System.Net.HttpStatusCode.NotFound || rslt.StatusCode == System.Net.HttpStatusCode.BadRequest)
- {
- // didn't find endpoint.
- logger.Log($"Failed to get Authority and Resource error. Attempt to Access Endpoint {targetServiceUrl.ToString()} resulted in {rslt.StatusCode}.", TraceEventType.Error);
- return authRoutingProperties;
- }
-
- if (rslt.Headers.Contains("WWW-Authenticate"))
- {
- var authenticateHeader = rslt.Headers.GetValues("WWW-Authenticate").FirstOrDefault();
- authenticateHeader = authenticateHeader.Trim();
-
- // This also checks for cases like "BearerXXXX authorization_uri=...." and "Bearer" and "Bearer "
- if (!authenticateHeader.StartsWith(Bearer, StringComparison.OrdinalIgnoreCase)
- || authenticateHeader.Length < Bearer.Length + 2
- || !char.IsWhiteSpace(authenticateHeader[Bearer.Length]))
- {
- //var ex = new ArgumentException(AdalErrorMessage.InvalidAuthenticateHeaderFormat,
- // nameof(authenticateHeader));
- //CoreLoggerBase.Default.Error(AdalErrorMessage.InvalidAuthenticateHeaderFormat);
- //CoreLoggerBase.Default.ErrorPii(ex);
- //throw ex;
- }
-
- authenticateHeader = authenticateHeader.Substring(Bearer.Length).Trim();
-
- IDictionary authenticateHeaderItems = null;
- try
- {
- authenticateHeaderItems =
- EncodingHelper.ParseKeyValueListStrict(authenticateHeader, ',', false, true);
- }
- catch //(ArgumentException ex)
- {
- //var newEx = new ArgumentException(AdalErrorMessage.InvalidAuthenticateHeaderFormat,
- // nameof(authenticateHeader), ex);
- //CoreLoggerBase.Default.Error(AdalErrorMessage.InvalidAuthenticateHeaderFormat);
- //CoreLoggerBase.Default.ErrorPii(newEx);
- //throw newEx;
- }
-
- if (authenticateHeaderItems != null)
- {
- string param;
- authenticateHeaderItems.TryGetValue(AuthorityKey, out param);
- authRoutingProperties.Authority =
- param.Replace("oauth2/authorize", "") // swap out the old oAuth pattern.
- .Replace("common", "organizations"); // swap common for organizations because MSAL reasons.
- authenticateHeaderItems.TryGetValue(ResourceKey, out param);
- authRoutingProperties.Resource = param;
- }
- }
-
- return authRoutingProperties;
+ var resolver = new AuthorityResolver(client, (t, msg) => logger.Log(msg, t));
+ return await resolver.ProbeForExpectedAuthentication(targetServiceUrl);
}
///
diff --git a/src/GeneralTools/DataverseClient/Client/Auth/AuthorityResolver.cs b/src/GeneralTools/DataverseClient/Client/Auth/AuthorityResolver.cs
new file mode 100644
index 0000000..663725f
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/Client/Auth/AuthorityResolver.cs
@@ -0,0 +1,155 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Threading.Tasks;
+
+namespace Microsoft.PowerPlatform.Dataverse.Client.Auth
+{
+ ///
+ /// Details of expected authentication.
+ ///
+ public sealed class AuthenticationDetails
+ {
+ ///
+ /// True if probing returned a WWW-Authenticate header.
+ ///
+ public bool Success { get; internal set; }
+
+ ///
+ /// Authority to initiate OAuth flow with.
+ ///
+ // TODO: the 2 Uris here should be nullable: Uri? but that requires to update C# used for this solution from current 7.x to C# 9 or 10
+ public Uri Authority { get; internal set; }
+
+ ///
+ /// OAuth resource to request authentication for.
+ ///
+ public Uri Resource { get; internal set; }
+ }
+
+ ///
+ /// Probes API endpoint to elicit a 401 response with the WWW-Authenticate header and processes the found information
+ ///
+ public sealed class AuthorityResolver
+ {
+ private const string AuthenticateHeader = "WWW-Authenticate";
+ private const string Bearer = "bearer";
+ private const string AuthorityKey = "authorization_uri";
+ private const string ResourceKey = "resource_id";
+
+ private readonly HttpClient _httpClient;
+ private readonly Action _logger;
+
+ ///
+ /// instantiate resolver, using specified HttpClient to be used.
+ ///
+ ///
+ ///
+ public AuthorityResolver(HttpClient httpClient, Action logger = null)
+ {
+ _ = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
+
+ _httpClient = httpClient;
+ _logger = logger;
+ }
+
+ ///
+ /// Attemtps to solicit a WWW-Authenticate reply using an unauthenticated GET call to the given endpoint.
+ /// Parses returned header for details
+ ///
+ ///
+ ///
+ ///
+ public async Task ProbeForExpectedAuthentication(Uri endpoint)
+ {
+ _ = endpoint ?? throw new ArgumentNullException(nameof(endpoint));
+ var details = new AuthenticationDetails();
+
+ HttpResponseMessage response;
+ try
+ {
+ response = await _httpClient.GetAsync(endpoint).ConfigureAwait(false);
+ }
+ catch (HttpRequestException ex)
+ {
+ var errDetails = string.Empty;
+ if (ex.InnerException is WebException wex)
+ {
+ errDetails = $"; details: {wex.Message} ({wex.Status})";
+ }
+ LogError($"Failed to get response from: {endpoint}; error: {ex.Message}{errDetails}");
+ return details;
+ }
+
+
+ if (response.StatusCode == HttpStatusCode.NotFound || response.StatusCode == HttpStatusCode.BadRequest)
+ {
+ // didn't find endpoint.
+ LogError($"Failed to get Authority and Resource error. Attempt to Access Endpoint {endpoint} resulted in {response.StatusCode}.");
+ return details;
+ }
+
+ if (response.Headers.Contains(AuthenticateHeader))
+ {
+ var authenticateHeader = response.Headers.GetValues(AuthenticateHeader).FirstOrDefault();
+ authenticateHeader = authenticateHeader.Trim();
+
+ // This also checks for cases like "BearerXXXX authorization_uri=...." and "Bearer" and "Bearer "
+ if (!authenticateHeader.StartsWith(Bearer, StringComparison.OrdinalIgnoreCase)
+ || authenticateHeader.Length < Bearer.Length + 2
+ || !char.IsWhiteSpace(authenticateHeader[Bearer.Length]))
+ {
+ LogError($"Malformed 'Bearer' format: {authenticateHeader}");
+ return details;
+ }
+
+ authenticateHeader = authenticateHeader.Substring(Bearer.Length).Trim();
+
+ IDictionary authenticateHeaderItems = null;
+ try
+ {
+ authenticateHeaderItems =
+ EncodingHelper.ParseKeyValueListStrict(authenticateHeader, ',', false, true);
+ }
+ catch (ArgumentException)
+ {
+ LogError($"Malformed arguments in '{AuthenticateHeader}: {authenticateHeader}");
+ return details;
+ }
+
+ if (authenticateHeaderItems != null)
+ {
+ if (!authenticateHeaderItems.TryGetValue(AuthorityKey, out var auth))
+ {
+ LogError($"Response header from {endpoint} is missing expected key/value for {AuthorityKey}");
+ return details;
+ }
+ details.Authority = new Uri(
+ auth.Replace("oauth2/authorize", "") // swap out the old oAuth pattern.
+ .Replace("common", "organizations")); // swap common for organizations because MSAL reasons.
+
+ if (!authenticateHeaderItems.TryGetValue(ResourceKey, out var res))
+ {
+ LogError($"Response header from {endpoint} is missing expected key/value for {ResourceKey}");
+ return details;
+ }
+ details.Resource = new Uri(res);
+ details.Success = true;
+ }
+ }
+
+ return details;
+ }
+
+ private void LogError(string message)
+ {
+ if (_logger != null)
+ {
+ _logger(TraceEventType.Error, message);
+ }
+ }
+ }
+}
diff --git a/src/GeneralTools/DataverseClient/Client/ConnectionService.cs b/src/GeneralTools/DataverseClient/Client/ConnectionService.cs
index a36da17..277e282 100644
--- a/src/GeneralTools/DataverseClient/Client/ConnectionService.cs
+++ b/src/GeneralTools/DataverseClient/Client/ConnectionService.cs
@@ -591,7 +591,7 @@ internal bool EnableCookieRelay
/// Cookies that are being passed though clients, when cookies are used
///
internal Dictionary CurrentCookieCollection { get; set; } = null;
-
+
///
/// Server Hint for the number of concurrent threads that would provbide optimal processing.
///
@@ -1581,7 +1581,9 @@ internal async Task Command_WebAPIProcess_ExecuteAsync(Org
}
else if (req.Parameters.ContainsKey("Target") && req.Parameters["Target"] is EntityReference entRef) // this should cover things that have targets.
{
- cReq = new Entity(entRef.LogicalName, entRef.Id);
+ cReq = entRef.KeyAttributes.Any()
+ ? new Entity(entRef.LogicalName, entRef.KeyAttributes)
+ : new Entity(entRef.LogicalName, entRef.Id);
}
EntityMetadata entityMetadata = null;
diff --git a/src/GeneralTools/DataverseClient/ConnectControl/Microsoft.PowerPlatform.Dataverse.ConnectControl.csproj b/src/GeneralTools/DataverseClient/ConnectControl/Microsoft.PowerPlatform.Dataverse.ConnectControl.csproj
index 2ea0852..97e4aa3 100644
--- a/src/GeneralTools/DataverseClient/ConnectControl/Microsoft.PowerPlatform.Dataverse.ConnectControl.csproj
+++ b/src/GeneralTools/DataverseClient/ConnectControl/Microsoft.PowerPlatform.Dataverse.ConnectControl.csproj
@@ -1,6 +1,6 @@
-
+
- DataverseConnectControl
+ DataverseClient
Library
Properties
Microsoft.PowerPlatform.Dataverse.ConnectControl
@@ -11,7 +11,7 @@
$(DotNetClassicTargetFrameworks)
- $(OutDir)\Microsoft.PowerPlatform.Dataverse.CrmConnectControl.xml
+ $(OutDir)\Microsoft.PowerPlatform.Dataverse.ConnectControl.xml
diff --git a/src/GeneralTools/DataverseClient/DataverseClient_PackageTestSolution.sln b/src/GeneralTools/DataverseClient/DataverseClient_PackageTestSolution.sln
index 3cd3753..8aa9006 100644
--- a/src/GeneralTools/DataverseClient/DataverseClient_PackageTestSolution.sln
+++ b/src/GeneralTools/DataverseClient/DataverseClient_PackageTestSolution.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.31729.503
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LivePackageTestsConsole", "UnitTests\LivePackageTestsConsole\LivePackageTestsConsole.csproj", "{AD21CFD4-EDA7-4F31-9A07-CC90C03B4C27}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LivePackageRunUnitTests", "UnitTests\LivePackageRunUnitTests\LivePackageRunUnitTests.csproj", "{F90838B9-F2D2-499B-8C37-4F8389380743}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
{AD21CFD4-EDA7-4F31-9A07-CC90C03B4C27}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD21CFD4-EDA7-4F31-9A07-CC90C03B4C27}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD21CFD4-EDA7-4F31-9A07-CC90C03B4C27}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F90838B9-F2D2-499B-8C37-4F8389380743}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F90838B9-F2D2-499B-8C37-4F8389380743}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F90838B9-F2D2-499B-8C37-4F8389380743}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F90838B9-F2D2-499B-8C37-4F8389380743}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/GeneralTools/DataverseClient/Testers/LoginControlTester/LoginControlTester.csproj b/src/GeneralTools/DataverseClient/Testers/LoginControlTester/LoginControlTester.csproj
index f4966f7..07cba35 100644
--- a/src/GeneralTools/DataverseClient/Testers/LoginControlTester/LoginControlTester.csproj
+++ b/src/GeneralTools/DataverseClient/Testers/LoginControlTester/LoginControlTester.csproj
@@ -1,6 +1,6 @@
-
+
- DataverseConnectControl
+ DataverseClient
WinExe
Properties
LoginControlTester
diff --git a/src/GeneralTools/DataverseClient/UIStyles/Microsoft.PowerPlatform.Dataverse.Ui.Styles.csproj b/src/GeneralTools/DataverseClient/UIStyles/Microsoft.PowerPlatform.Dataverse.Ui.Styles.csproj
index 70e63eb..5793a2f 100644
--- a/src/GeneralTools/DataverseClient/UIStyles/Microsoft.PowerPlatform.Dataverse.Ui.Styles.csproj
+++ b/src/GeneralTools/DataverseClient/UIStyles/Microsoft.PowerPlatform.Dataverse.Ui.Styles.csproj
@@ -1,6 +1,6 @@
-
+
- DataverseConnectControl
+ DataverseClient
true
Properties
Microsoft.PowerPlatform.Dataverse.Ui.Styles
diff --git a/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/AuthResolverTests.cs b/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/AuthResolverTests.cs
new file mode 100644
index 0000000..426c373
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/AuthResolverTests.cs
@@ -0,0 +1,96 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Net;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using FluentAssertions;
+using Microsoft.PowerPlatform.Dataverse.Client.Auth;
+using Xunit;
+
+namespace Client_Core_Tests.Auth
+{
+ public class AuthResolverTests
+ {
+ private const string AuthenticateHeader = "www-authenticate";
+ private readonly MockHttpMessageHandler _msgHandler;
+ private readonly HttpClient _httpClient;
+
+ public AuthResolverTests()
+ {
+ _msgHandler = new MockHttpMessageHandler();
+ _httpClient = new HttpClient(_msgHandler);
+ }
+
+ [Theory]
+ [InlineData("https://login.somewhere.tst/abc/authorize", "https://hello.com", HttpStatusCode.Unauthorized, true, "Bearer authorization_uri=https://login.somewhere.tst/abc/authorize, resource_id=https://hello.com")]
+ [InlineData("https://login.somewhere.tst/abc/authorize", "https://hello.com", HttpStatusCode.Unauthorized, true, "BeArEr AUTHORIZATION_URI=https://login.somewhere.tst/abc/authorize, reSoUrCe_ID=https://hello.com")]
+ [InlineData("n/a", "n/a", HttpStatusCode.Unauthorized, false, "Bearer")]
+ [InlineData("https://login.somewhere.tst/abc/authorize", "n/a", HttpStatusCode.Unauthorized, false, "Bearer authorization_uri=https://login.somewhere.tst/abc/authorize")]
+ [InlineData("n/a", "https://hello.com", HttpStatusCode.Unauthorized, false, "Bearer resource_id=https://hello.com")]
+ public async Task ProbeSuccessful(string expectedAuthority, string expectedResource, HttpStatusCode expectedStatus, bool success, string responseHeader)
+ {
+ var endpoint = new Uri("https://ppdevtools.crm.dynamics.com/api/data/v9");
+ var log = new List();
+ var resolver = new AuthorityResolver(_httpClient, (et, msg) =>
+ {
+ et.Should().Be(TraceEventType.Error);
+ log.Add(msg);
+ });
+
+ _msgHandler.ResponseHeader = responseHeader;
+ _msgHandler.ResponseStatus = expectedStatus;
+ var details = await resolver.ProbeForExpectedAuthentication(endpoint);
+
+ details.Success.Should().Be(success);
+ if (success)
+ {
+ details.Authority.Should().Be(new Uri(expectedAuthority));
+ details.Resource.Should().Be(new Uri(expectedResource));
+ }
+ else
+ {
+ log.Count.Should().BeGreaterOrEqualTo(1);
+ }
+ }
+
+ [Fact]
+ public async void DnsErrorsHandled()
+ {
+ var endpoint = new Uri("https://doesnotexist-bad.crm.dynamics.com/api/data/v9");
+ var log = new List();
+ var resolver = new AuthorityResolver(_httpClient, (et, msg) =>
+ {
+ et.Should().Be(TraceEventType.Error);
+ log.Add(msg);
+ });
+
+ _msgHandler.ErrorOnSend = true;
+ var details = await resolver.ProbeForExpectedAuthentication(endpoint);
+ details.Success.Should().BeFalse();
+ log.Count.Should().BeGreaterOrEqualTo(1);
+ }
+
+ private class MockHttpMessageHandler : HttpMessageHandler
+ {
+ public string ResponseHeader { get; set; }
+ public HttpStatusCode ResponseStatus { get; set; } = HttpStatusCode.Unauthorized;
+ public bool ErrorOnSend { get; set; }
+
+ protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
+ {
+ if (ErrorOnSend)
+ {
+ throw new HttpRequestException("Failed to get response", new WebException("The remote name could not be resolved", WebExceptionStatus.NameResolutionFailure));
+ }
+
+ var response = new HttpResponseMessage(ResponseStatus);
+ response.Headers.Remove(AuthenticateHeader);
+ response.Headers.TryAddWithoutValidation(AuthenticateHeader, ResponseHeader);
+
+ return Task.FromResult(response);
+ }
+ }
+ }
+}
diff --git a/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/Properties/Resources.Designer.cs b/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/Properties/Resources.Designer.cs
index 27fc36a..3960f09 100644
--- a/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/Properties/Resources.Designer.cs
+++ b/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace DataverseClient_Core_UnitTests.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/LivePackageRunUnitTests.csproj b/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/LivePackageRunUnitTests.csproj
new file mode 100644
index 0000000..db02224
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/LivePackageRunUnitTests.csproj
@@ -0,0 +1,25 @@
+
+
+
+ true
+
+ net462;net472;net48;netcoreapp3.1;net5.0
+ true
+ DataverseClient-Tests-Package
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/RunTests.cs b/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/RunTests.cs
new file mode 100644
index 0000000..6dd13eb
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageRunUnitTests/RunTests.cs
@@ -0,0 +1,69 @@
+using System;
+using System.IO;
+using System.Text;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace LivePackageRunUnitTests
+{
+ public class RunTests
+ {
+ public RunTests(ITestOutputHelper output)
+ {
+ var converter = new Converter(output);
+ Console.SetOut(converter);
+ }
+
+ [Fact]
+ public void InvokeBasicTest()
+ {
+ LivePackageTestsConsole.Program.SkipStop = true;
+ LivePackageTestsConsole.Program.Main(new string[] { "BasicFlow" });
+ }
+
+ [Fact]
+ public void InvokeReadSolutionsTest()
+ {
+ LivePackageTestsConsole.Program.SkipStop = true;
+ LivePackageTestsConsole.Program.Main(new string[] { "listsolutions" });
+ }
+
+
+ [Fact]
+ public void InvokeCUDTestTest()
+ {
+ LivePackageTestsConsole.Program.SkipStop = true;
+ LivePackageTestsConsole.Program.Main(new string[] { "CUDTest" });
+ }
+
+ #region Utility
+ private class Converter : TextWriter
+ {
+ ITestOutputHelper _output;
+ public Converter(ITestOutputHelper output)
+ {
+ _output = output;
+ }
+ public override Encoding Encoding
+ {
+ get { return Encoding.UTF8; }
+ }
+ public override void WriteLine(string message)
+ {
+ _output.WriteLine(message);
+ }
+ public override void WriteLine(string format, params object[] args)
+ {
+ _output.WriteLine(format, args);
+ }
+
+ public override void Write(char value)
+ {
+ throw new NotSupportedException("This text writer only supports WriteLine(string) and WriteLine(string, params object[]).");
+ }
+ }
+
+ #endregion
+
+ }
+}
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/CUDTest.cs b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/CUDTest.cs
new file mode 100644
index 0000000..6d5acaa
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/CUDTest.cs
@@ -0,0 +1,79 @@
+using FluentAssertions;
+using System;
+using Microsoft.Xrm.Sdk;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using CrmSdk;
+
+namespace LivePackageTestsConsole
+{
+ public class CUDTest
+ {
+ public void RunTest()
+ {
+ Console.WriteLine("Starting CUDTest Flow");
+
+ var client = Auth.CreateClient();
+ client.IsReady.Should().BeTrue();
+
+ Console.WriteLine("Creating Account");
+
+ Entity acct = new Entity("account");
+ acct.Attributes["name"] = "testaccount";
+
+ Guid id = client.Create(acct);
+
+ Console.WriteLine("Updating Account");
+
+ Entity acct2 = new Entity("account"); // changing to force a 'new' situation
+ acct2.Id = id;
+ acct2.Attributes["name"] = "testaccount2";
+
+ client.Update(acct2);
+
+ Console.WriteLine("Deleting Account");
+ client.Delete("account", id);
+ }
+
+ public void RunTest2()
+ {
+ Console.WriteLine("Starting CUDTest Flow - OrganziationContext");
+
+ var client = Auth.CreateClient();
+ client.IsReady.Should().BeTrue();
+
+ using (DvServiceContext svcCtx = new DvServiceContext(client))
+ {
+ //svcCtx.MergeOption = Microsoft.Xrm.Sdk.Client.MergeOption.NoTracking; // So as to not keep cached copies while working on test cases.
+ Console.WriteLine("Creating Account");
+
+ Account acct = new Account();
+ acct.Name = "testaccount";
+ svcCtx.AddObject(acct);
+ svcCtx.SaveChanges();
+
+ Guid id = acct.Id;
+
+ Console.WriteLine("Query Account");
+ var aQ = (from a1 in svcCtx.AccountSet
+ where a1.Name.Equals("testaccount")
+ select a1);
+
+ if (aQ != null )
+ Console.WriteLine($"Found Account by Name {aQ.FirstOrDefault().Name}");
+
+ Console.WriteLine("Updating Account");
+
+ Entity acct2 = new Entity("account"); // changing to force a 'new' situation
+ acct2.Id = id;
+ acct2.Attributes["name"] = "testaccount2";
+ client.Update(acct2);
+
+ Console.WriteLine("Deleting Account");
+ client.Delete("account", id);
+ }
+ }
+ }
+}
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/LivePackageTestsConsole.csproj b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/LivePackageTestsConsole.csproj
index 31f8d45..7a48717 100644
--- a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/LivePackageTestsConsole.csproj
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/LivePackageTestsConsole.csproj
@@ -17,7 +17,7 @@
$(RepoRoot)\binSigned\$(Configuration)\packages
- 0.5.9
+ 0.5.9
@@ -28,7 +28,7 @@
-
+
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/Program.cs b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/Program.cs
index bda6787..fb0fb47 100644
--- a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/Program.cs
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/Program.cs
@@ -5,9 +5,10 @@ namespace LivePackageTestsConsole
///
/// This program will test run against live tests on a known Nuget Package version.
///
- class Program
+ public class Program
{
- static void Main(string[] args)
+ public static bool SkipStop { get; set; } = false;
+ public static void Main(string[] args)
{
Console.WriteLine("Starting Tests");
@@ -48,6 +49,12 @@ static void Main(string[] args)
tests.Run();
}
+ else if ( string.Compare(args[0], "CUDTest", StringComparison.OrdinalIgnoreCase) == 0)
+ {
+ var tests = new CUDTest();
+ tests.RunTest();
+ tests.RunTest2();
+ }
}
else
{
@@ -55,7 +62,8 @@ static void Main(string[] args)
tests.Run();
}
- Console.ReadKey();
+ if (!SkipStop)
+ Console.ReadKey();
}
}
}
diff --git a/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/TestData/Ents.cs b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/TestData/Ents.cs
new file mode 100644
index 0000000..a76edf3
--- /dev/null
+++ b/src/GeneralTools/DataverseClient/UnitTests/LivePackageTestsConsole/TestData/Ents.cs
@@ -0,0 +1,22625 @@
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]
+[assembly: System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "9.1.0.82")]
+
+namespace CrmSdk
+{
+
+
+ [System.Runtime.Serialization.DataContractAttribute()]
+ public enum AccountState
+ {
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Active = 0,
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Inactive = 1,
+ }
+
+ ///
+ /// Business that represents a customer or potential customer. The company that is billed in business transactions.
+ ///
+ [System.Runtime.Serialization.DataContractAttribute()]
+ [Microsoft.Xrm.Sdk.Client.EntityLogicalNameAttribute("account")]
+ public partial class Account : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged
+ {
+
+ public static class Fields
+ {
+ public const string AccountCategoryCode = "accountcategorycode";
+ public const string AccountClassificationCode = "accountclassificationcode";
+ public const string AccountId = "accountid";
+ public const string Id = "accountid";
+ public const string AccountNumber = "accountnumber";
+ public const string AccountRatingCode = "accountratingcode";
+ public const string Address1_AddressId = "address1_addressid";
+ public const string Address1_AddressTypeCode = "address1_addresstypecode";
+ public const string Address1_City = "address1_city";
+ public const string Address1_Composite = "address1_composite";
+ public const string Address1_Country = "address1_country";
+ public const string Address1_County = "address1_county";
+ public const string Address1_Fax = "address1_fax";
+ public const string Address1_FreightTermsCode = "address1_freighttermscode";
+ public const string Address1_Latitude = "address1_latitude";
+ public const string Address1_Line1 = "address1_line1";
+ public const string Address1_Line2 = "address1_line2";
+ public const string Address1_Line3 = "address1_line3";
+ public const string Address1_Longitude = "address1_longitude";
+ public const string Address1_Name = "address1_name";
+ public const string Address1_PostalCode = "address1_postalcode";
+ public const string Address1_PostOfficeBox = "address1_postofficebox";
+ public const string Address1_PrimaryContactName = "address1_primarycontactname";
+ public const string Address1_ShippingMethodCode = "address1_shippingmethodcode";
+ public const string Address1_StateOrProvince = "address1_stateorprovince";
+ public const string Address1_Telephone1 = "address1_telephone1";
+ public const string Address1_Telephone2 = "address1_telephone2";
+ public const string Address1_Telephone3 = "address1_telephone3";
+ public const string Address1_UPSZone = "address1_upszone";
+ public const string Address1_UTCOffset = "address1_utcoffset";
+ public const string Address2_AddressId = "address2_addressid";
+ public const string Address2_AddressTypeCode = "address2_addresstypecode";
+ public const string Address2_City = "address2_city";
+ public const string Address2_Composite = "address2_composite";
+ public const string Address2_Country = "address2_country";
+ public const string Address2_County = "address2_county";
+ public const string Address2_Fax = "address2_fax";
+ public const string Address2_FreightTermsCode = "address2_freighttermscode";
+ public const string Address2_Latitude = "address2_latitude";
+ public const string Address2_Line1 = "address2_line1";
+ public const string Address2_Line2 = "address2_line2";
+ public const string Address2_Line3 = "address2_line3";
+ public const string Address2_Longitude = "address2_longitude";
+ public const string Address2_Name = "address2_name";
+ public const string Address2_PostalCode = "address2_postalcode";
+ public const string Address2_PostOfficeBox = "address2_postofficebox";
+ public const string Address2_PrimaryContactName = "address2_primarycontactname";
+ public const string Address2_ShippingMethodCode = "address2_shippingmethodcode";
+ public const string Address2_StateOrProvince = "address2_stateorprovince";
+ public const string Address2_Telephone1 = "address2_telephone1";
+ public const string Address2_Telephone2 = "address2_telephone2";
+ public const string Address2_Telephone3 = "address2_telephone3";
+ public const string Address2_UPSZone = "address2_upszone";
+ public const string Address2_UTCOffset = "address2_utcoffset";
+ public const string Adx_CreatedByIPAddress = "adx_createdbyipaddress";
+ public const string Adx_CreatedByUsername = "adx_createdbyusername";
+ public const string Adx_ModifiedByIPAddress = "adx_modifiedbyipaddress";
+ public const string Adx_ModifiedByUsername = "adx_modifiedbyusername";
+ public const string Aging30 = "aging30";
+ public const string Aging30_Base = "aging30_base";
+ public const string Aging60 = "aging60";
+ public const string Aging60_Base = "aging60_base";
+ public const string Aging90 = "aging90";
+ public const string Aging90_Base = "aging90_base";
+ public const string BusinessTypeCode = "businesstypecode";
+ public const string crae4_DateOnlyDateOnly = "crae4_dateonlydateonly";
+ public const string crae4_DateOnlyTZIndependant = "crae4_dateonlytzindependant";
+ public const string crae4_DateOnlyUserLocal = "crae4_dateonlyuserlocal";
+ public const string crae4_TEST01 = "crae4_test01";
+ public const string crae4_tfile_Name = "crae4_tfile_name";
+ public const string CreatedBy = "createdby";
+ public const string CreatedByExternalParty = "createdbyexternalparty";
+ public const string CreatedOn = "createdon";
+ public const string CreatedOnBehalfBy = "createdonbehalfby";
+ public const string CreditLimit = "creditlimit";
+ public const string CreditLimit_Base = "creditlimit_base";
+ public const string CreditOnHold = "creditonhold";
+ public const string CustomerSizeCode = "customersizecode";
+ public const string CustomerTypeCode = "customertypecode";
+ public const string DefaultPriceLevelId = "defaultpricelevelid";
+ public const string Description = "description";
+ public const string DoNotBulkEMail = "donotbulkemail";
+ public const string DoNotBulkPostalMail = "donotbulkpostalmail";
+ public const string DoNotEMail = "donotemail";
+ public const string DoNotFax = "donotfax";
+ public const string DoNotPhone = "donotphone";
+ public const string DoNotPostalMail = "donotpostalmail";
+ public const string DoNotSendMM = "donotsendmm";
+ public const string EMailAddress1 = "emailaddress1";
+ public const string EMailAddress2 = "emailaddress2";
+ public const string EMailAddress3 = "emailaddress3";
+ public const string EntityImage = "entityimage";
+ public const string EntityImage_Timestamp = "entityimage_timestamp";
+ public const string EntityImage_URL = "entityimage_url";
+ public const string EntityImageId = "entityimageid";
+ public const string ExchangeRate = "exchangerate";
+ public const string Fax = "fax";
+ public const string FollowEmail = "followemail";
+ public const string FtpSiteURL = "ftpsiteurl";
+ public const string ImportSequenceNumber = "importsequencenumber";
+ public const string IndustryCode = "industrycode";
+ public const string LastOnHoldTime = "lastonholdtime";
+ public const string LastUsedInCampaign = "lastusedincampaign";
+ public const string MarketCap = "marketcap";
+ public const string MarketCap_Base = "marketcap_base";
+ public const string MarketingOnly = "marketingonly";
+ public const string MasterId = "masterid";
+ public const string Merged = "merged";
+ public const string ModifiedBy = "modifiedby";
+ public const string ModifiedByExternalParty = "modifiedbyexternalparty";
+ public const string ModifiedOn = "modifiedon";
+ public const string ModifiedOnBehalfBy = "modifiedonbehalfby";
+ public const string msa_managingpartnerid = "msa_managingpartnerid";
+ public const string msdyncrm_insights_placeholder = "msdyncrm_insights_placeholder";
+ public const string msemr_AccountType = "msemr_accounttype";
+ public const string msemr_Address1PeriodEndDate = "msemr_address1periodenddate";
+ public const string msemr_Address1PeriodStartDate = "msemr_address1periodstartdate";
+ public const string msemr_Address2PeriodEndDate = "msemr_address2periodenddate";
+ public const string msemr_Address2PeriodStartDate = "msemr_address2periodstartdate";
+ public const string msemr_Alias = "msemr_alias";
+ public const string msemr_Contact1Puropose = "msemr_contact1puropose";
+ public const string msemr_Contact2 = "msemr_contact2";
+ public const string msemr_Contact2Puropose = "msemr_contact2puropose";
+ public const string msemr_PayorOrganization = "msemr_payororganization";
+ public const string msemr_Telecom1EndDate = "msemr_telecom1enddate";
+ public const string msemr_Telecom1Rank = "msemr_telecom1rank";
+ public const string msemr_Telecom1StartDate = "msemr_telecom1startdate";
+ public const string msemr_Telecom1System = "msemr_telecom1system";
+ public const string msemr_Telecom1Use = "msemr_telecom1use";
+ public const string msemr_Telecom2EndDate = "msemr_telecom2enddate";
+ public const string msemr_Telecom2Rank = "msemr_telecom2rank";
+ public const string msemr_Telecom2StartDate = "msemr_telecom2startdate";
+ public const string msemr_Telecom2System = "msemr_telecom2system";
+ public const string msemr_Telecom2Use = "msemr_telecom2use";
+ public const string msemr_Telecom3EndDate = "msemr_telecom3enddate";
+ public const string msemr_Telecom3Rank = "msemr_telecom3rank";
+ public const string msemr_Telecom3StartDate = "msemr_telecom3startdate";
+ public const string msemr_Telecom3System = "msemr_telecom3system";
+ public const string msemr_Telecom3Use = "msemr_telecom3use";
+ public const string msevtmgt_HotelGroup = "msevtmgt_hotelgroup";
+ public const string msevtmgt_RentalCarProvider = "msevtmgt_rentalcarprovider";
+ public const string Name = "name";
+ public const string new_DateOnlyTest = "new_dateonlytest";
+ public const string new_TimeZoneIndependant = "new_timezoneindependant";
+ public const string NumberOfEmployees = "numberofemployees";
+ public const string OnHoldTime = "onholdtime";
+ public const string OpenDeals = "opendeals";
+ public const string OpenDeals_Date = "opendeals_date";
+ public const string OpenDeals_State = "opendeals_state";
+ public const string OpenRevenue = "openrevenue";
+ public const string OpenRevenue_Base = "openrevenue_base";
+ public const string OpenRevenue_Date = "openrevenue_date";
+ public const string OpenRevenue_State = "openrevenue_state";
+ public const string OriginatingLeadId = "originatingleadid";
+ public const string OverriddenCreatedOn = "overriddencreatedon";
+ public const string OwnerId = "ownerid";
+ public const string OwnershipCode = "ownershipcode";
+ public const string OwningBusinessUnit = "owningbusinessunit";
+ public const string OwningTeam = "owningteam";
+ public const string OwningUser = "owninguser";
+ public const string ParentAccountId = "parentaccountid";
+ public const string ParticipatesInWorkflow = "participatesinworkflow";
+ public const string PaymentTermsCode = "paymenttermscode";
+ public const string PreferredAppointmentDayCode = "preferredappointmentdaycode";
+ public const string PreferredAppointmentTimeCode = "preferredappointmenttimecode";
+ public const string PreferredContactMethodCode = "preferredcontactmethodcode";
+ public const string PreferredEquipmentId = "preferredequipmentid";
+ public const string PreferredServiceId = "preferredserviceid";
+ public const string PreferredSystemUserId = "preferredsystemuserid";
+ public const string PrimaryContactId = "primarycontactid";
+ public const string PrimarySatoriId = "primarysatoriid";
+ public const string PrimaryTwitterId = "primarytwitterid";
+ public const string ProcessId = "processid";
+ public const string Revenue = "revenue";
+ public const string Revenue_Base = "revenue_base";
+ public const string SharesOutstanding = "sharesoutstanding";
+ public const string ShippingMethodCode = "shippingmethodcode";
+ public const string SIC = "sic";
+ public const string SLAId = "slaid";
+ public const string SLAInvokedId = "slainvokedid";
+ public const string StageId = "stageid";
+ public const string StateCode = "statecode";
+ public const string StatusCode = "statuscode";
+ public const string StockExchange = "stockexchange";
+ public const string TeamsFollowed = "teamsfollowed";
+ public const string Telephone1 = "telephone1";
+ public const string Telephone2 = "telephone2";
+ public const string Telephone3 = "telephone3";
+ public const string TerritoryCode = "territorycode";
+ public const string TerritoryId = "territoryid";
+ public const string TickerSymbol = "tickersymbol";
+ public const string TimeSpentByMeOnEmailAndMeetings = "timespentbymeonemailandmeetings";
+ public const string TimeZoneRuleVersionNumber = "timezoneruleversionnumber";
+ public const string TransactionCurrencyId = "transactioncurrencyid";
+ public const string TraversedPath = "traversedpath";
+ public const string UTCConversionTimeZoneCode = "utcconversiontimezonecode";
+ public const string VersionNumber = "versionnumber";
+ public const string WebSiteURL = "websiteurl";
+ public const string YomiName = "yominame";
+ }
+
+ ///
+ /// Default Constructor.
+ ///
+ public Account() :
+ base(EntityLogicalName)
+ {
+ }
+
+ public const string EntityLogicalName = "account";
+
+ public const string EntitySchemaName = "Account";
+
+ public const string PrimaryIdAttribute = "accountid";
+
+ public const string PrimaryNameAttribute = "name";
+
+ public const string EntityLogicalCollectionName = "accounts";
+
+ public const string EntitySetName = "accounts";
+
+ public const int EntityTypeCode = 1;
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;
+
+ private void OnPropertyChanged(string propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ private void OnPropertyChanging(string propertyName)
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, new System.ComponentModel.PropertyChangingEventArgs(propertyName));
+ }
+ }
+
+ ///
+ /// Select a category to indicate whether the customer account is standard or preferred.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountcategorycode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue AccountCategoryCode
+ {
+ get
+ {
+ return this.GetAttributeValue("accountcategorycode");
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountCategoryCode");
+ this.SetAttributeValue("accountcategorycode", value);
+ this.OnPropertyChanged("AccountCategoryCode");
+ }
+ }
+
+ ///
+ /// Select a category to indicate whether the customer account is standard or preferred.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountcategorycode")]
+ public virtual Account_AccountCategoryCode? AccountCategoryCodeEnum
+ {
+ get
+ {
+ return ((Account_AccountCategoryCode?)(EntityOptionSetEnum.GetEnum(this, "accountcategorycode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountCategoryCode");
+ this.SetAttributeValue("accountcategorycode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("AccountCategoryCode");
+ }
+ }
+
+ ///
+ /// Select a classification code to indicate the potential value of the customer account based on the projected return on investment, cooperation level, sales cycle length or other criteria.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountclassificationcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue AccountClassificationCode
+ {
+ get
+ {
+ return this.GetAttributeValue("accountclassificationcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountClassificationCode");
+ this.SetAttributeValue("accountclassificationcode", value);
+ this.OnPropertyChanged("AccountClassificationCode");
+ }
+ }
+
+ ///
+ /// Select a classification code to indicate the potential value of the customer account based on the projected return on investment, cooperation level, sales cycle length or other criteria.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountclassificationcode")]
+ public virtual Account_AccountClassificationCode? AccountClassificationCodeEnum
+ {
+ get
+ {
+ return ((Account_AccountClassificationCode?)(EntityOptionSetEnum.GetEnum(this, "accountclassificationcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountClassificationCode");
+ this.SetAttributeValue("accountclassificationcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("AccountClassificationCode");
+ }
+ }
+
+ ///
+ /// Unique identifier of the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountid")]
+ public System.Nullable AccountId
+ {
+ get
+ {
+ return this.GetAttributeValue>("accountid");
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountId");
+ this.SetAttributeValue("accountid", value);
+ if (value.HasValue)
+ {
+ base.Id = value.Value;
+ }
+ else
+ {
+ base.Id = System.Guid.Empty;
+ }
+ this.OnPropertyChanged("AccountId");
+ }
+ }
+
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountid")]
+ public override System.Guid Id
+ {
+ get
+ {
+ return base.Id;
+ }
+ set
+ {
+ this.AccountId = value;
+ }
+ }
+
+ ///
+ /// Type an ID number or code for the account to quickly search and identify the account in system views.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountnumber")]
+ public string AccountNumber
+ {
+ get
+ {
+ return this.GetAttributeValue("accountnumber");
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountNumber");
+ this.SetAttributeValue("accountnumber", value);
+ this.OnPropertyChanged("AccountNumber");
+ }
+ }
+
+ ///
+ /// Select a rating to indicate the value of the customer account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountratingcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue AccountRatingCode
+ {
+ get
+ {
+ return this.GetAttributeValue("accountratingcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountRatingCode");
+ this.SetAttributeValue("accountratingcode", value);
+ this.OnPropertyChanged("AccountRatingCode");
+ }
+ }
+
+ ///
+ /// Select a rating to indicate the value of the customer account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountratingcode")]
+ public virtual Account_AccountRatingCode? AccountRatingCodeEnum
+ {
+ get
+ {
+ return ((Account_AccountRatingCode?)(EntityOptionSetEnum.GetEnum(this, "accountratingcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("AccountRatingCode");
+ this.SetAttributeValue("accountratingcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("AccountRatingCode");
+ }
+ }
+
+ ///
+ /// Unique identifier for address 1.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_addressid")]
+ public System.Nullable Address1_AddressId
+ {
+ get
+ {
+ return this.GetAttributeValue>("address1_addressid");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_AddressId");
+ this.SetAttributeValue("address1_addressid", value);
+ this.OnPropertyChanged("Address1_AddressId");
+ }
+ }
+
+ ///
+ /// Select the primary address type.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_addresstypecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address1_AddressTypeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_addresstypecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_AddressTypeCode");
+ this.SetAttributeValue("address1_addresstypecode", value);
+ this.OnPropertyChanged("Address1_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// Select the primary address type.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_addresstypecode")]
+ public virtual Account_Address1_AddressTypeCode? Address1_AddressTypeCodeEnum
+ {
+ get
+ {
+ return ((Account_Address1_AddressTypeCode?)(EntityOptionSetEnum.GetEnum(this, "address1_addresstypecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_AddressTypeCode");
+ this.SetAttributeValue("address1_addresstypecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address1_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// Type the city for the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_city")]
+ public string Address1_City
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_city");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_City");
+ this.SetAttributeValue("address1_city", value);
+ this.OnPropertyChanged("Address1_City");
+ }
+ }
+
+ ///
+ /// Shows the complete primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_composite")]
+ public string Address1_Composite
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_composite");
+ }
+ }
+
+ ///
+ /// Type the country or region for the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_country")]
+ public string Address1_Country
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_country");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Country");
+ this.SetAttributeValue("address1_country", value);
+ this.OnPropertyChanged("Address1_Country");
+ }
+ }
+
+ ///
+ /// Type the county for the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_county")]
+ public string Address1_County
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_county");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_County");
+ this.SetAttributeValue("address1_county", value);
+ this.OnPropertyChanged("Address1_County");
+ }
+ }
+
+ ///
+ /// Type the fax number associated with the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_fax")]
+ public string Address1_Fax
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_fax");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Fax");
+ this.SetAttributeValue("address1_fax", value);
+ this.OnPropertyChanged("Address1_Fax");
+ }
+ }
+
+ ///
+ /// Select the freight terms for the primary address to make sure shipping orders are processed correctly.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_freighttermscode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address1_FreightTermsCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_freighttermscode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_FreightTermsCode");
+ this.SetAttributeValue("address1_freighttermscode", value);
+ this.OnPropertyChanged("Address1_FreightTermsCode");
+ }
+ }
+
+ ///
+ /// Select the freight terms for the primary address to make sure shipping orders are processed correctly.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_freighttermscode")]
+ public virtual Account_Address1_FreightTermsCode? Address1_FreightTermsCodeEnum
+ {
+ get
+ {
+ return ((Account_Address1_FreightTermsCode?)(EntityOptionSetEnum.GetEnum(this, "address1_freighttermscode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_FreightTermsCode");
+ this.SetAttributeValue("address1_freighttermscode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address1_FreightTermsCode");
+ }
+ }
+
+ ///
+ /// Type the latitude value for the primary address for use in mapping and other applications.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_latitude")]
+ public System.Nullable Address1_Latitude
+ {
+ get
+ {
+ return this.GetAttributeValue>("address1_latitude");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Latitude");
+ this.SetAttributeValue("address1_latitude", value);
+ this.OnPropertyChanged("Address1_Latitude");
+ }
+ }
+
+ ///
+ /// Type the first line of the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_line1")]
+ public string Address1_Line1
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_line1");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Line1");
+ this.SetAttributeValue("address1_line1", value);
+ this.OnPropertyChanged("Address1_Line1");
+ }
+ }
+
+ ///
+ /// Type the second line of the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_line2")]
+ public string Address1_Line2
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_line2");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Line2");
+ this.SetAttributeValue("address1_line2", value);
+ this.OnPropertyChanged("Address1_Line2");
+ }
+ }
+
+ ///
+ /// Type the third line of the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_line3")]
+ public string Address1_Line3
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_line3");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Line3");
+ this.SetAttributeValue("address1_line3", value);
+ this.OnPropertyChanged("Address1_Line3");
+ }
+ }
+
+ ///
+ /// Type the longitude value for the primary address for use in mapping and other applications.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_longitude")]
+ public System.Nullable Address1_Longitude
+ {
+ get
+ {
+ return this.GetAttributeValue>("address1_longitude");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Longitude");
+ this.SetAttributeValue("address1_longitude", value);
+ this.OnPropertyChanged("Address1_Longitude");
+ }
+ }
+
+ ///
+ /// Type a descriptive name for the primary address, such as Corporate Headquarters.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_name")]
+ public string Address1_Name
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_name");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Name");
+ this.SetAttributeValue("address1_name", value);
+ this.OnPropertyChanged("Address1_Name");
+ }
+ }
+
+ ///
+ /// Type the ZIP Code or postal code for the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_postalcode")]
+ public string Address1_PostalCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_postalcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_PostalCode");
+ this.SetAttributeValue("address1_postalcode", value);
+ this.OnPropertyChanged("Address1_PostalCode");
+ }
+ }
+
+ ///
+ /// Type the post office box number of the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_postofficebox")]
+ public string Address1_PostOfficeBox
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_postofficebox");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_PostOfficeBox");
+ this.SetAttributeValue("address1_postofficebox", value);
+ this.OnPropertyChanged("Address1_PostOfficeBox");
+ }
+ }
+
+ ///
+ /// Type the name of the main contact at the account's primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_primarycontactname")]
+ public string Address1_PrimaryContactName
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_primarycontactname");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_PrimaryContactName");
+ this.SetAttributeValue("address1_primarycontactname", value);
+ this.OnPropertyChanged("Address1_PrimaryContactName");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_shippingmethodcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address1_ShippingMethodCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_shippingmethodcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_ShippingMethodCode");
+ this.SetAttributeValue("address1_shippingmethodcode", value);
+ this.OnPropertyChanged("Address1_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_shippingmethodcode")]
+ public virtual Account_Address1_ShippingMethodCode? Address1_ShippingMethodCodeEnum
+ {
+ get
+ {
+ return ((Account_Address1_ShippingMethodCode?)(EntityOptionSetEnum.GetEnum(this, "address1_shippingmethodcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_ShippingMethodCode");
+ this.SetAttributeValue("address1_shippingmethodcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address1_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Type the state or province of the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_stateorprovince")]
+ public string Address1_StateOrProvince
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_stateorprovince");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_StateOrProvince");
+ this.SetAttributeValue("address1_stateorprovince", value);
+ this.OnPropertyChanged("Address1_StateOrProvince");
+ }
+ }
+
+ ///
+ /// Type the main phone number associated with the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_telephone1")]
+ public string Address1_Telephone1
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_telephone1");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Telephone1");
+ this.SetAttributeValue("address1_telephone1", value);
+ this.OnPropertyChanged("Address1_Telephone1");
+ }
+ }
+
+ ///
+ /// Type a second phone number associated with the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_telephone2")]
+ public string Address1_Telephone2
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_telephone2");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Telephone2");
+ this.SetAttributeValue("address1_telephone2", value);
+ this.OnPropertyChanged("Address1_Telephone2");
+ }
+ }
+
+ ///
+ /// Type a third phone number associated with the primary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_telephone3")]
+ public string Address1_Telephone3
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_telephone3");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_Telephone3");
+ this.SetAttributeValue("address1_telephone3", value);
+ this.OnPropertyChanged("Address1_Telephone3");
+ }
+ }
+
+ ///
+ /// Type the UPS zone of the primary address to make sure shipping charges are calculated correctly and deliveries are made promptly, if shipped by UPS.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_upszone")]
+ public string Address1_UPSZone
+ {
+ get
+ {
+ return this.GetAttributeValue("address1_upszone");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_UPSZone");
+ this.SetAttributeValue("address1_upszone", value);
+ this.OnPropertyChanged("Address1_UPSZone");
+ }
+ }
+
+ ///
+ /// Select the time zone, or UTC offset, for this address so that other people can reference it when they contact someone at this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address1_utcoffset")]
+ public System.Nullable Address1_UTCOffset
+ {
+ get
+ {
+ return this.GetAttributeValue>("address1_utcoffset");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address1_UTCOffset");
+ this.SetAttributeValue("address1_utcoffset", value);
+ this.OnPropertyChanged("Address1_UTCOffset");
+ }
+ }
+
+ ///
+ /// Unique identifier for address 2.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_addressid")]
+ public System.Nullable Address2_AddressId
+ {
+ get
+ {
+ return this.GetAttributeValue>("address2_addressid");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_AddressId");
+ this.SetAttributeValue("address2_addressid", value);
+ this.OnPropertyChanged("Address2_AddressId");
+ }
+ }
+
+ ///
+ /// Select the secondary address type.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_addresstypecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address2_AddressTypeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_addresstypecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_AddressTypeCode");
+ this.SetAttributeValue("address2_addresstypecode", value);
+ this.OnPropertyChanged("Address2_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// Select the secondary address type.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_addresstypecode")]
+ public virtual Account_Address2_AddressTypeCode? Address2_AddressTypeCodeEnum
+ {
+ get
+ {
+ return ((Account_Address2_AddressTypeCode?)(EntityOptionSetEnum.GetEnum(this, "address2_addresstypecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_AddressTypeCode");
+ this.SetAttributeValue("address2_addresstypecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address2_AddressTypeCode");
+ }
+ }
+
+ ///
+ /// Type the city for the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_city")]
+ public string Address2_City
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_city");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_City");
+ this.SetAttributeValue("address2_city", value);
+ this.OnPropertyChanged("Address2_City");
+ }
+ }
+
+ ///
+ /// Shows the complete secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_composite")]
+ public string Address2_Composite
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_composite");
+ }
+ }
+
+ ///
+ /// Type the country or region for the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_country")]
+ public string Address2_Country
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_country");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Country");
+ this.SetAttributeValue("address2_country", value);
+ this.OnPropertyChanged("Address2_Country");
+ }
+ }
+
+ ///
+ /// Type the county for the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_county")]
+ public string Address2_County
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_county");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_County");
+ this.SetAttributeValue("address2_county", value);
+ this.OnPropertyChanged("Address2_County");
+ }
+ }
+
+ ///
+ /// Type the fax number associated with the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_fax")]
+ public string Address2_Fax
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_fax");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Fax");
+ this.SetAttributeValue("address2_fax", value);
+ this.OnPropertyChanged("Address2_Fax");
+ }
+ }
+
+ ///
+ /// Select the freight terms for the secondary address to make sure shipping orders are processed correctly.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_freighttermscode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address2_FreightTermsCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_freighttermscode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_FreightTermsCode");
+ this.SetAttributeValue("address2_freighttermscode", value);
+ this.OnPropertyChanged("Address2_FreightTermsCode");
+ }
+ }
+
+ ///
+ /// Select the freight terms for the secondary address to make sure shipping orders are processed correctly.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_freighttermscode")]
+ public virtual Account_Address2_FreightTermsCode? Address2_FreightTermsCodeEnum
+ {
+ get
+ {
+ return ((Account_Address2_FreightTermsCode?)(EntityOptionSetEnum.GetEnum(this, "address2_freighttermscode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_FreightTermsCode");
+ this.SetAttributeValue("address2_freighttermscode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address2_FreightTermsCode");
+ }
+ }
+
+ ///
+ /// Type the latitude value for the secondary address for use in mapping and other applications.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_latitude")]
+ public System.Nullable Address2_Latitude
+ {
+ get
+ {
+ return this.GetAttributeValue>("address2_latitude");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Latitude");
+ this.SetAttributeValue("address2_latitude", value);
+ this.OnPropertyChanged("Address2_Latitude");
+ }
+ }
+
+ ///
+ /// Type the first line of the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_line1")]
+ public string Address2_Line1
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_line1");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Line1");
+ this.SetAttributeValue("address2_line1", value);
+ this.OnPropertyChanged("Address2_Line1");
+ }
+ }
+
+ ///
+ /// Type the second line of the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_line2")]
+ public string Address2_Line2
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_line2");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Line2");
+ this.SetAttributeValue("address2_line2", value);
+ this.OnPropertyChanged("Address2_Line2");
+ }
+ }
+
+ ///
+ /// Type the third line of the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_line3")]
+ public string Address2_Line3
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_line3");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Line3");
+ this.SetAttributeValue("address2_line3", value);
+ this.OnPropertyChanged("Address2_Line3");
+ }
+ }
+
+ ///
+ /// Type the longitude value for the secondary address for use in mapping and other applications.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_longitude")]
+ public System.Nullable Address2_Longitude
+ {
+ get
+ {
+ return this.GetAttributeValue>("address2_longitude");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Longitude");
+ this.SetAttributeValue("address2_longitude", value);
+ this.OnPropertyChanged("Address2_Longitude");
+ }
+ }
+
+ ///
+ /// Type a descriptive name for the secondary address, such as Corporate Headquarters.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_name")]
+ public string Address2_Name
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_name");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Name");
+ this.SetAttributeValue("address2_name", value);
+ this.OnPropertyChanged("Address2_Name");
+ }
+ }
+
+ ///
+ /// Type the ZIP Code or postal code for the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_postalcode")]
+ public string Address2_PostalCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_postalcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_PostalCode");
+ this.SetAttributeValue("address2_postalcode", value);
+ this.OnPropertyChanged("Address2_PostalCode");
+ }
+ }
+
+ ///
+ /// Type the post office box number of the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_postofficebox")]
+ public string Address2_PostOfficeBox
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_postofficebox");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_PostOfficeBox");
+ this.SetAttributeValue("address2_postofficebox", value);
+ this.OnPropertyChanged("Address2_PostOfficeBox");
+ }
+ }
+
+ ///
+ /// Type the name of the main contact at the account's secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_primarycontactname")]
+ public string Address2_PrimaryContactName
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_primarycontactname");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_PrimaryContactName");
+ this.SetAttributeValue("address2_primarycontactname", value);
+ this.OnPropertyChanged("Address2_PrimaryContactName");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_shippingmethodcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue Address2_ShippingMethodCode
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_shippingmethodcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_ShippingMethodCode");
+ this.SetAttributeValue("address2_shippingmethodcode", value);
+ this.OnPropertyChanged("Address2_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_shippingmethodcode")]
+ public virtual Account_Address2_ShippingMethodCode? Address2_ShippingMethodCodeEnum
+ {
+ get
+ {
+ return ((Account_Address2_ShippingMethodCode?)(EntityOptionSetEnum.GetEnum(this, "address2_shippingmethodcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_ShippingMethodCode");
+ this.SetAttributeValue("address2_shippingmethodcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("Address2_ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Type the state or province of the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_stateorprovince")]
+ public string Address2_StateOrProvince
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_stateorprovince");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_StateOrProvince");
+ this.SetAttributeValue("address2_stateorprovince", value);
+ this.OnPropertyChanged("Address2_StateOrProvince");
+ }
+ }
+
+ ///
+ /// Type the main phone number associated with the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_telephone1")]
+ public string Address2_Telephone1
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_telephone1");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Telephone1");
+ this.SetAttributeValue("address2_telephone1", value);
+ this.OnPropertyChanged("Address2_Telephone1");
+ }
+ }
+
+ ///
+ /// Type a second phone number associated with the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_telephone2")]
+ public string Address2_Telephone2
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_telephone2");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Telephone2");
+ this.SetAttributeValue("address2_telephone2", value);
+ this.OnPropertyChanged("Address2_Telephone2");
+ }
+ }
+
+ ///
+ /// Type a third phone number associated with the secondary address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_telephone3")]
+ public string Address2_Telephone3
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_telephone3");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_Telephone3");
+ this.SetAttributeValue("address2_telephone3", value);
+ this.OnPropertyChanged("Address2_Telephone3");
+ }
+ }
+
+ ///
+ /// Type the UPS zone of the secondary address to make sure shipping charges are calculated correctly and deliveries are made promptly, if shipped by UPS.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_upszone")]
+ public string Address2_UPSZone
+ {
+ get
+ {
+ return this.GetAttributeValue("address2_upszone");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_UPSZone");
+ this.SetAttributeValue("address2_upszone", value);
+ this.OnPropertyChanged("Address2_UPSZone");
+ }
+ }
+
+ ///
+ /// Select the time zone, or UTC offset, for this address so that other people can reference it when they contact someone at this address.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("address2_utcoffset")]
+ public System.Nullable Address2_UTCOffset
+ {
+ get
+ {
+ return this.GetAttributeValue>("address2_utcoffset");
+ }
+ set
+ {
+ this.OnPropertyChanging("Address2_UTCOffset");
+ this.SetAttributeValue("address2_utcoffset", value);
+ this.OnPropertyChanged("Address2_UTCOffset");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("adx_createdbyipaddress")]
+ public string Adx_CreatedByIPAddress
+ {
+ get
+ {
+ return this.GetAttributeValue("adx_createdbyipaddress");
+ }
+ set
+ {
+ this.OnPropertyChanging("Adx_CreatedByIPAddress");
+ this.SetAttributeValue("adx_createdbyipaddress", value);
+ this.OnPropertyChanged("Adx_CreatedByIPAddress");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("adx_createdbyusername")]
+ public string Adx_CreatedByUsername
+ {
+ get
+ {
+ return this.GetAttributeValue("adx_createdbyusername");
+ }
+ set
+ {
+ this.OnPropertyChanging("Adx_CreatedByUsername");
+ this.SetAttributeValue("adx_createdbyusername", value);
+ this.OnPropertyChanged("Adx_CreatedByUsername");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("adx_modifiedbyipaddress")]
+ public string Adx_ModifiedByIPAddress
+ {
+ get
+ {
+ return this.GetAttributeValue("adx_modifiedbyipaddress");
+ }
+ set
+ {
+ this.OnPropertyChanging("Adx_ModifiedByIPAddress");
+ this.SetAttributeValue("adx_modifiedbyipaddress", value);
+ this.OnPropertyChanged("Adx_ModifiedByIPAddress");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("adx_modifiedbyusername")]
+ public string Adx_ModifiedByUsername
+ {
+ get
+ {
+ return this.GetAttributeValue("adx_modifiedbyusername");
+ }
+ set
+ {
+ this.OnPropertyChanging("Adx_ModifiedByUsername");
+ this.SetAttributeValue("adx_modifiedbyusername", value);
+ this.OnPropertyChanged("Adx_ModifiedByUsername");
+ }
+ }
+
+ ///
+ /// For system use only.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging30")]
+ public Microsoft.Xrm.Sdk.Money Aging30
+ {
+ get
+ {
+ return this.GetAttributeValue("aging30");
+ }
+ }
+
+ ///
+ /// The base currency equivalent of the aging 30 field.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging30_base")]
+ public Microsoft.Xrm.Sdk.Money Aging30_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("aging30_base");
+ }
+ }
+
+ ///
+ /// For system use only.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging60")]
+ public Microsoft.Xrm.Sdk.Money Aging60
+ {
+ get
+ {
+ return this.GetAttributeValue("aging60");
+ }
+ }
+
+ ///
+ /// The base currency equivalent of the aging 60 field.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging60_base")]
+ public Microsoft.Xrm.Sdk.Money Aging60_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("aging60_base");
+ }
+ }
+
+ ///
+ /// For system use only.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging90")]
+ public Microsoft.Xrm.Sdk.Money Aging90
+ {
+ get
+ {
+ return this.GetAttributeValue("aging90");
+ }
+ }
+
+ ///
+ /// The base currency equivalent of the aging 90 field.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("aging90_base")]
+ public Microsoft.Xrm.Sdk.Money Aging90_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("aging90_base");
+ }
+ }
+
+ ///
+ /// Select the legal designation or other business type of the account for contracts or reporting purposes.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("businesstypecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue BusinessTypeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("businesstypecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("BusinessTypeCode");
+ this.SetAttributeValue("businesstypecode", value);
+ this.OnPropertyChanged("BusinessTypeCode");
+ }
+ }
+
+ ///
+ /// Select the legal designation or other business type of the account for contracts or reporting purposes.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("businesstypecode")]
+ public virtual Account_BusinessTypeCode? BusinessTypeCodeEnum
+ {
+ get
+ {
+ return ((Account_BusinessTypeCode?)(EntityOptionSetEnum.GetEnum(this, "businesstypecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("BusinessTypeCode");
+ this.SetAttributeValue("businesstypecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("BusinessTypeCode");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("crae4_dateonlydateonly")]
+ public System.Nullable crae4_DateOnlyDateOnly
+ {
+ get
+ {
+ return this.GetAttributeValue>("crae4_dateonlydateonly");
+ }
+ set
+ {
+ this.OnPropertyChanging("crae4_DateOnlyDateOnly");
+ this.SetAttributeValue("crae4_dateonlydateonly", value);
+ this.OnPropertyChanged("crae4_DateOnlyDateOnly");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("crae4_dateonlytzindependant")]
+ public System.Nullable crae4_DateOnlyTZIndependant
+ {
+ get
+ {
+ return this.GetAttributeValue>("crae4_dateonlytzindependant");
+ }
+ set
+ {
+ this.OnPropertyChanging("crae4_DateOnlyTZIndependant");
+ this.SetAttributeValue("crae4_dateonlytzindependant", value);
+ this.OnPropertyChanged("crae4_DateOnlyTZIndependant");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("crae4_dateonlyuserlocal")]
+ public System.Nullable crae4_DateOnlyUserLocal
+ {
+ get
+ {
+ return this.GetAttributeValue>("crae4_dateonlyuserlocal");
+ }
+ set
+ {
+ this.OnPropertyChanging("crae4_DateOnlyUserLocal");
+ this.SetAttributeValue("crae4_dateonlyuserlocal", value);
+ this.OnPropertyChanged("crae4_DateOnlyUserLocal");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("crae4_test01")]
+ public Microsoft.Xrm.Sdk.EntityReference crae4_TEST01
+ {
+ get
+ {
+ return this.GetAttributeValue("crae4_test01");
+ }
+ set
+ {
+ this.OnPropertyChanging("crae4_TEST01");
+ this.SetAttributeValue("crae4_test01", value);
+ this.OnPropertyChanged("crae4_TEST01");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("crae4_tfile_name")]
+ public string crae4_tfile_Name
+ {
+ get
+ {
+ return this.GetAttributeValue("crae4_tfile_name");
+ }
+ }
+
+ ///
+ /// Shows who created the record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("createdby")]
+ public Microsoft.Xrm.Sdk.EntityReference CreatedBy
+ {
+ get
+ {
+ return this.GetAttributeValue("createdby");
+ }
+ }
+
+ ///
+ /// Shows the external party who created the record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("createdbyexternalparty")]
+ public Microsoft.Xrm.Sdk.EntityReference CreatedByExternalParty
+ {
+ get
+ {
+ return this.GetAttributeValue("createdbyexternalparty");
+ }
+ }
+
+ ///
+ /// Shows the date and time when the record was created. The date and time are displayed in the time zone selected in Microsoft Dynamics 365 options.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("createdon")]
+ public System.Nullable CreatedOn
+ {
+ get
+ {
+ return this.GetAttributeValue>("createdon");
+ }
+ }
+
+ ///
+ /// Shows who created the record on behalf of another user.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("createdonbehalfby")]
+ public Microsoft.Xrm.Sdk.EntityReference CreatedOnBehalfBy
+ {
+ get
+ {
+ return this.GetAttributeValue("createdonbehalfby");
+ }
+ set
+ {
+ this.OnPropertyChanging("CreatedOnBehalfBy");
+ this.SetAttributeValue("createdonbehalfby", value);
+ this.OnPropertyChanged("CreatedOnBehalfBy");
+ }
+ }
+
+ ///
+ /// Type the credit limit of the account. This is a useful reference when you address invoice and accounting issues with the customer.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("creditlimit")]
+ public Microsoft.Xrm.Sdk.Money CreditLimit
+ {
+ get
+ {
+ return this.GetAttributeValue("creditlimit");
+ }
+ set
+ {
+ this.OnPropertyChanging("CreditLimit");
+ this.SetAttributeValue("creditlimit", value);
+ this.OnPropertyChanged("CreditLimit");
+ }
+ }
+
+ ///
+ /// Shows the credit limit converted to the system's default base currency for reporting purposes.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("creditlimit_base")]
+ public Microsoft.Xrm.Sdk.Money CreditLimit_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("creditlimit_base");
+ }
+ }
+
+ ///
+ /// Select whether the credit for the account is on hold. This is a useful reference while addressing the invoice and accounting issues with the customer.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("creditonhold")]
+ public System.Nullable CreditOnHold
+ {
+ get
+ {
+ return this.GetAttributeValue>("creditonhold");
+ }
+ set
+ {
+ this.OnPropertyChanging("CreditOnHold");
+ this.SetAttributeValue("creditonhold", value);
+ this.OnPropertyChanged("CreditOnHold");
+ }
+ }
+
+ ///
+ /// Select the size category or range of the account for segmentation and reporting purposes.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("customersizecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue CustomerSizeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("customersizecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("CustomerSizeCode");
+ this.SetAttributeValue("customersizecode", value);
+ this.OnPropertyChanged("CustomerSizeCode");
+ }
+ }
+
+ ///
+ /// Select the size category or range of the account for segmentation and reporting purposes.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("customersizecode")]
+ public virtual Account_CustomerSizeCode? CustomerSizeCodeEnum
+ {
+ get
+ {
+ return ((Account_CustomerSizeCode?)(EntityOptionSetEnum.GetEnum(this, "customersizecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("CustomerSizeCode");
+ this.SetAttributeValue("customersizecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("CustomerSizeCode");
+ }
+ }
+
+ ///
+ /// Select the category that best describes the relationship between the account and your organization.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("customertypecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue CustomerTypeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("customertypecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("CustomerTypeCode");
+ this.SetAttributeValue("customertypecode", value);
+ this.OnPropertyChanged("CustomerTypeCode");
+ }
+ }
+
+ ///
+ /// Select the category that best describes the relationship between the account and your organization.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("customertypecode")]
+ public virtual Account_CustomerTypeCode? CustomerTypeCodeEnum
+ {
+ get
+ {
+ return ((Account_CustomerTypeCode?)(EntityOptionSetEnum.GetEnum(this, "customertypecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("CustomerTypeCode");
+ this.SetAttributeValue("customertypecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("CustomerTypeCode");
+ }
+ }
+
+ ///
+ /// Choose the default price list associated with the account to make sure the correct product prices for this customer are applied in sales opportunities, quotes, and orders.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("defaultpricelevelid")]
+ public Microsoft.Xrm.Sdk.EntityReference DefaultPriceLevelId
+ {
+ get
+ {
+ return this.GetAttributeValue("defaultpricelevelid");
+ }
+ set
+ {
+ this.OnPropertyChanging("DefaultPriceLevelId");
+ this.SetAttributeValue("defaultpricelevelid", value);
+ this.OnPropertyChanged("DefaultPriceLevelId");
+ }
+ }
+
+ ///
+ /// Type additional information to describe the account, such as an excerpt from the company's website.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("description")]
+ public string Description
+ {
+ get
+ {
+ return this.GetAttributeValue("description");
+ }
+ set
+ {
+ this.OnPropertyChanging("Description");
+ this.SetAttributeValue("description", value);
+ this.OnPropertyChanged("Description");
+ }
+ }
+
+ ///
+ /// Select whether the account allows bulk email sent through campaigns. If Do Not Allow is selected, the account can be added to marketing lists, but is excluded from email.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotbulkemail")]
+ public System.Nullable DoNotBulkEMail
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotbulkemail");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotBulkEMail");
+ this.SetAttributeValue("donotbulkemail", value);
+ this.OnPropertyChanged("DoNotBulkEMail");
+ }
+ }
+
+ ///
+ /// Select whether the account allows bulk postal mail sent through marketing campaigns or quick campaigns. If Do Not Allow is selected, the account can be added to marketing lists, but will be excluded from the postal mail.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotbulkpostalmail")]
+ public System.Nullable DoNotBulkPostalMail
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotbulkpostalmail");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotBulkPostalMail");
+ this.SetAttributeValue("donotbulkpostalmail", value);
+ this.OnPropertyChanged("DoNotBulkPostalMail");
+ }
+ }
+
+ ///
+ /// Select whether the account allows direct email sent from Microsoft Dynamics 365.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotemail")]
+ public System.Nullable DoNotEMail
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotemail");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotEMail");
+ this.SetAttributeValue("donotemail", value);
+ this.OnPropertyChanged("DoNotEMail");
+ }
+ }
+
+ ///
+ /// Select whether the account allows faxes. If Do Not Allow is selected, the account will be excluded from fax activities distributed in marketing campaigns.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotfax")]
+ public System.Nullable DoNotFax
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotfax");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotFax");
+ this.SetAttributeValue("donotfax", value);
+ this.OnPropertyChanged("DoNotFax");
+ }
+ }
+
+ ///
+ /// Select whether the account allows phone calls. If Do Not Allow is selected, the account will be excluded from phone call activities distributed in marketing campaigns.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotphone")]
+ public System.Nullable DoNotPhone
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotphone");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotPhone");
+ this.SetAttributeValue("donotphone", value);
+ this.OnPropertyChanged("DoNotPhone");
+ }
+ }
+
+ ///
+ /// Select whether the account allows direct mail. If Do Not Allow is selected, the account will be excluded from letter activities distributed in marketing campaigns.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotpostalmail")]
+ public System.Nullable DoNotPostalMail
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotpostalmail");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotPostalMail");
+ this.SetAttributeValue("donotpostalmail", value);
+ this.OnPropertyChanged("DoNotPostalMail");
+ }
+ }
+
+ ///
+ /// Select whether the account accepts marketing materials, such as brochures or catalogs.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("donotsendmm")]
+ public System.Nullable DoNotSendMM
+ {
+ get
+ {
+ return this.GetAttributeValue>("donotsendmm");
+ }
+ set
+ {
+ this.OnPropertyChanging("DoNotSendMM");
+ this.SetAttributeValue("donotsendmm", value);
+ this.OnPropertyChanged("DoNotSendMM");
+ }
+ }
+
+ ///
+ /// Type the primary email address for the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("emailaddress1")]
+ public string EMailAddress1
+ {
+ get
+ {
+ return this.GetAttributeValue("emailaddress1");
+ }
+ set
+ {
+ this.OnPropertyChanging("EMailAddress1");
+ this.SetAttributeValue("emailaddress1", value);
+ this.OnPropertyChanged("EMailAddress1");
+ }
+ }
+
+ ///
+ /// Type the secondary email address for the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("emailaddress2")]
+ public string EMailAddress2
+ {
+ get
+ {
+ return this.GetAttributeValue("emailaddress2");
+ }
+ set
+ {
+ this.OnPropertyChanging("EMailAddress2");
+ this.SetAttributeValue("emailaddress2", value);
+ this.OnPropertyChanged("EMailAddress2");
+ }
+ }
+
+ ///
+ /// Type an alternate email address for the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("emailaddress3")]
+ public string EMailAddress3
+ {
+ get
+ {
+ return this.GetAttributeValue("emailaddress3");
+ }
+ set
+ {
+ this.OnPropertyChanging("EMailAddress3");
+ this.SetAttributeValue("emailaddress3", value);
+ this.OnPropertyChanged("EMailAddress3");
+ }
+ }
+
+ ///
+ /// Shows the default image for the record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("entityimage")]
+ public byte[] EntityImage
+ {
+ get
+ {
+ return this.GetAttributeValue("entityimage");
+ }
+ set
+ {
+ this.OnPropertyChanging("EntityImage");
+ this.SetAttributeValue("entityimage", value);
+ this.OnPropertyChanged("EntityImage");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("entityimage_timestamp")]
+ public System.Nullable EntityImage_Timestamp
+ {
+ get
+ {
+ return this.GetAttributeValue>("entityimage_timestamp");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("entityimage_url")]
+ public string EntityImage_URL
+ {
+ get
+ {
+ return this.GetAttributeValue("entityimage_url");
+ }
+ }
+
+ ///
+ /// For internal use only.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("entityimageid")]
+ public System.Nullable EntityImageId
+ {
+ get
+ {
+ return this.GetAttributeValue>("entityimageid");
+ }
+ }
+
+ ///
+ /// Shows the conversion rate of the record's currency. The exchange rate is used to convert all money fields in the record from the local currency to the system's default currency.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("exchangerate")]
+ public System.Nullable ExchangeRate
+ {
+ get
+ {
+ return this.GetAttributeValue>("exchangerate");
+ }
+ }
+
+ ///
+ /// Type the fax number for the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("fax")]
+ public string Fax
+ {
+ get
+ {
+ return this.GetAttributeValue("fax");
+ }
+ set
+ {
+ this.OnPropertyChanging("Fax");
+ this.SetAttributeValue("fax", value);
+ this.OnPropertyChanged("Fax");
+ }
+ }
+
+ ///
+ /// Information about whether to allow following email activity like opens, attachment views and link clicks for emails sent to the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("followemail")]
+ public System.Nullable FollowEmail
+ {
+ get
+ {
+ return this.GetAttributeValue>("followemail");
+ }
+ set
+ {
+ this.OnPropertyChanging("FollowEmail");
+ this.SetAttributeValue("followemail", value);
+ this.OnPropertyChanged("FollowEmail");
+ }
+ }
+
+ ///
+ /// Type the URL for the account's FTP site to enable users to access data and share documents.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("ftpsiteurl")]
+ public string FtpSiteURL
+ {
+ get
+ {
+ return this.GetAttributeValue("ftpsiteurl");
+ }
+ set
+ {
+ this.OnPropertyChanging("FtpSiteURL");
+ this.SetAttributeValue("ftpsiteurl", value);
+ this.OnPropertyChanged("FtpSiteURL");
+ }
+ }
+
+ ///
+ /// Unique identifier of the data import or data migration that created this record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("importsequencenumber")]
+ public System.Nullable ImportSequenceNumber
+ {
+ get
+ {
+ return this.GetAttributeValue>("importsequencenumber");
+ }
+ set
+ {
+ this.OnPropertyChanging("ImportSequenceNumber");
+ this.SetAttributeValue("importsequencenumber", value);
+ this.OnPropertyChanged("ImportSequenceNumber");
+ }
+ }
+
+ ///
+ /// Select the account's primary industry for use in marketing segmentation and demographic analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("industrycode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue IndustryCode
+ {
+ get
+ {
+ return this.GetAttributeValue("industrycode");
+ }
+ set
+ {
+ this.OnPropertyChanging("IndustryCode");
+ this.SetAttributeValue("industrycode", value);
+ this.OnPropertyChanged("IndustryCode");
+ }
+ }
+
+ ///
+ /// Select the account's primary industry for use in marketing segmentation and demographic analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("industrycode")]
+ public virtual Account_IndustryCode? IndustryCodeEnum
+ {
+ get
+ {
+ return ((Account_IndustryCode?)(EntityOptionSetEnum.GetEnum(this, "industrycode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("IndustryCode");
+ this.SetAttributeValue("industrycode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("IndustryCode");
+ }
+ }
+
+ ///
+ /// Contains the date and time stamp of the last on hold time.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("lastonholdtime")]
+ public System.Nullable LastOnHoldTime
+ {
+ get
+ {
+ return this.GetAttributeValue>("lastonholdtime");
+ }
+ set
+ {
+ this.OnPropertyChanging("LastOnHoldTime");
+ this.SetAttributeValue("lastonholdtime", value);
+ this.OnPropertyChanged("LastOnHoldTime");
+ }
+ }
+
+ ///
+ /// Shows the date when the account was last included in a marketing campaign or quick campaign.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("lastusedincampaign")]
+ public System.Nullable LastUsedInCampaign
+ {
+ get
+ {
+ return this.GetAttributeValue>("lastusedincampaign");
+ }
+ set
+ {
+ this.OnPropertyChanging("LastUsedInCampaign");
+ this.SetAttributeValue("lastusedincampaign", value);
+ this.OnPropertyChanged("LastUsedInCampaign");
+ }
+ }
+
+ ///
+ /// Type the market capitalization of the account to identify the company's equity, used as an indicator in financial performance analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("marketcap")]
+ public Microsoft.Xrm.Sdk.Money MarketCap
+ {
+ get
+ {
+ return this.GetAttributeValue("marketcap");
+ }
+ set
+ {
+ this.OnPropertyChanging("MarketCap");
+ this.SetAttributeValue("marketcap", value);
+ this.OnPropertyChanged("MarketCap");
+ }
+ }
+
+ ///
+ /// Shows the market capitalization converted to the system's default base currency.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("marketcap_base")]
+ public Microsoft.Xrm.Sdk.Money MarketCap_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("marketcap_base");
+ }
+ }
+
+ ///
+ /// Whether is only for marketing
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("marketingonly")]
+ public System.Nullable MarketingOnly
+ {
+ get
+ {
+ return this.GetAttributeValue>("marketingonly");
+ }
+ set
+ {
+ this.OnPropertyChanging("MarketingOnly");
+ this.SetAttributeValue("marketingonly", value);
+ this.OnPropertyChanged("MarketingOnly");
+ }
+ }
+
+ ///
+ /// Shows the master account that the account was merged with.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("masterid")]
+ public Microsoft.Xrm.Sdk.EntityReference MasterId
+ {
+ get
+ {
+ return this.GetAttributeValue("masterid");
+ }
+ }
+
+ ///
+ /// Shows whether the account has been merged with another account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("merged")]
+ public System.Nullable Merged
+ {
+ get
+ {
+ return this.GetAttributeValue>("merged");
+ }
+ }
+
+ ///
+ /// Shows who last updated the record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("modifiedby")]
+ public Microsoft.Xrm.Sdk.EntityReference ModifiedBy
+ {
+ get
+ {
+ return this.GetAttributeValue("modifiedby");
+ }
+ }
+
+ ///
+ /// Shows the external party who modified the record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("modifiedbyexternalparty")]
+ public Microsoft.Xrm.Sdk.EntityReference ModifiedByExternalParty
+ {
+ get
+ {
+ return this.GetAttributeValue("modifiedbyexternalparty");
+ }
+ }
+
+ ///
+ /// Shows the date and time when the record was last updated. The date and time are displayed in the time zone selected in Microsoft Dynamics 365 options.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("modifiedon")]
+ public System.Nullable ModifiedOn
+ {
+ get
+ {
+ return this.GetAttributeValue>("modifiedon");
+ }
+ }
+
+ ///
+ /// Shows who created the record on behalf of another user.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("modifiedonbehalfby")]
+ public Microsoft.Xrm.Sdk.EntityReference ModifiedOnBehalfBy
+ {
+ get
+ {
+ return this.GetAttributeValue("modifiedonbehalfby");
+ }
+ set
+ {
+ this.OnPropertyChanging("ModifiedOnBehalfBy");
+ this.SetAttributeValue("modifiedonbehalfby", value);
+ this.OnPropertyChanged("ModifiedOnBehalfBy");
+ }
+ }
+
+ ///
+ /// Unique identifier for Account associated with Account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msa_managingpartnerid")]
+ public Microsoft.Xrm.Sdk.EntityReference msa_managingpartnerid
+ {
+ get
+ {
+ return this.GetAttributeValue("msa_managingpartnerid");
+ }
+ set
+ {
+ this.OnPropertyChanging("msa_managingpartnerid");
+ this.SetAttributeValue("msa_managingpartnerid", value);
+ this.OnPropertyChanged("msa_managingpartnerid");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msdyncrm_insights_placeholder")]
+ public string msdyncrm_insights_placeholder
+ {
+ get
+ {
+ return this.GetAttributeValue("msdyncrm_insights_placeholder");
+ }
+ set
+ {
+ this.OnPropertyChanging("msdyncrm_insights_placeholder");
+ this.SetAttributeValue("msdyncrm_insights_placeholder", value);
+ this.OnPropertyChanged("msdyncrm_insights_placeholder");
+ }
+ }
+
+ ///
+ /// The kind(s) of organization that this is
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_accounttype")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_AccountType
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_accounttype");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_AccountType");
+ this.SetAttributeValue("msemr_accounttype", value);
+ this.OnPropertyChanged("msemr_AccountType");
+ }
+ }
+
+ ///
+ /// The kind(s) of organization that this is
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_accounttype")]
+ public virtual Account_msemr_AccountType? msemr_AccountTypeEnum
+ {
+ get
+ {
+ return ((Account_msemr_AccountType?)(EntityOptionSetEnum.GetEnum(this, "msemr_accounttype")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_AccountType");
+ this.SetAttributeValue("msemr_accounttype", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_AccountType");
+ }
+ }
+
+ ///
+ /// Time period when address was/is in use
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_address1periodenddate")]
+ public System.Nullable msemr_Address1PeriodEndDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_address1periodenddate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Address1PeriodEndDate");
+ this.SetAttributeValue("msemr_address1periodenddate", value);
+ this.OnPropertyChanged("msemr_Address1PeriodEndDate");
+ }
+ }
+
+ ///
+ /// Time period when address was/is in use
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_address1periodstartdate")]
+ public System.Nullable msemr_Address1PeriodStartDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_address1periodstartdate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Address1PeriodStartDate");
+ this.SetAttributeValue("msemr_address1periodstartdate", value);
+ this.OnPropertyChanged("msemr_Address1PeriodStartDate");
+ }
+ }
+
+ ///
+ /// Time period when address was/is in use
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_address2periodenddate")]
+ public System.Nullable msemr_Address2PeriodEndDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_address2periodenddate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Address2PeriodEndDate");
+ this.SetAttributeValue("msemr_address2periodenddate", value);
+ this.OnPropertyChanged("msemr_Address2PeriodEndDate");
+ }
+ }
+
+ ///
+ /// Time period when address was/is in use
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_address2periodstartdate")]
+ public System.Nullable msemr_Address2PeriodStartDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_address2periodstartdate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Address2PeriodStartDate");
+ this.SetAttributeValue("msemr_address2periodstartdate", value);
+ this.OnPropertyChanged("msemr_Address2PeriodStartDate");
+ }
+ }
+
+ ///
+ /// A list of alternate names that the organization is known as, or was known as in the past.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_alias")]
+ public string msemr_Alias
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_alias");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Alias");
+ this.SetAttributeValue("msemr_alias", value);
+ this.OnPropertyChanged("msemr_Alias");
+ }
+ }
+
+ ///
+ /// Indicates a purpose for which the contact can be reached.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_contact1puropose")]
+ public Microsoft.Xrm.Sdk.EntityReference msemr_Contact1Puropose
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_contact1puropose");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Contact1Puropose");
+ this.SetAttributeValue("msemr_contact1puropose", value);
+ this.OnPropertyChanged("msemr_Contact1Puropose");
+ }
+ }
+
+ ///
+ /// Contact for the organization for a certain purpose.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_contact2")]
+ public Microsoft.Xrm.Sdk.EntityReference msemr_Contact2
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_contact2");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Contact2");
+ this.SetAttributeValue("msemr_contact2", value);
+ this.OnPropertyChanged("msemr_Contact2");
+ }
+ }
+
+ ///
+ /// Indicates a purpose for which the contact can be reached.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_contact2puropose")]
+ public Microsoft.Xrm.Sdk.EntityReference msemr_Contact2Puropose
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_contact2puropose");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Contact2Puropose");
+ this.SetAttributeValue("msemr_contact2puropose", value);
+ this.OnPropertyChanged("msemr_Contact2Puropose");
+ }
+ }
+
+ ///
+ /// Lookup to coverage for a payor organization.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_payororganization")]
+ public Microsoft.Xrm.Sdk.EntityReference msemr_PayorOrganization
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_payororganization");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_PayorOrganization");
+ this.SetAttributeValue("msemr_payororganization", value);
+ this.OnPropertyChanged("msemr_PayorOrganization");
+ }
+ }
+
+ ///
+ /// End time of validity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1enddate")]
+ public System.Nullable msemr_Telecom1EndDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom1enddate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1EndDate");
+ this.SetAttributeValue("msemr_telecom1enddate", value);
+ this.OnPropertyChanged("msemr_Telecom1EndDate");
+ }
+ }
+
+ ///
+ /// Specify preferred order of use (1 = highest)
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1rank")]
+ public System.Nullable msemr_Telecom1Rank
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom1rank");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1Rank");
+ this.SetAttributeValue("msemr_telecom1rank", value);
+ this.OnPropertyChanged("msemr_Telecom1Rank");
+ }
+ }
+
+ ///
+ /// Start time of validtity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1startdate")]
+ public System.Nullable msemr_Telecom1StartDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom1startdate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1StartDate");
+ this.SetAttributeValue("msemr_telecom1startdate", value);
+ this.OnPropertyChanged("msemr_Telecom1StartDate");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1system")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom1System
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom1system");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1System");
+ this.SetAttributeValue("msemr_telecom1system", value);
+ this.OnPropertyChanged("msemr_Telecom1System");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1system")]
+ public virtual msemr_TelecomSystem? msemr_Telecom1SystemEnum
+ {
+ get
+ {
+ return ((msemr_TelecomSystem?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom1system")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1System");
+ this.SetAttributeValue("msemr_telecom1system", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom1System");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1use")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom1Use
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom1use");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1Use");
+ this.SetAttributeValue("msemr_telecom1use", value);
+ this.OnPropertyChanged("msemr_Telecom1Use");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom1use")]
+ public virtual msemr_telecomuse? msemr_Telecom1UseEnum
+ {
+ get
+ {
+ return ((msemr_telecomuse?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom1use")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom1Use");
+ this.SetAttributeValue("msemr_telecom1use", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom1Use");
+ }
+ }
+
+ ///
+ /// End time of validity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2enddate")]
+ public System.Nullable msemr_Telecom2EndDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom2enddate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2EndDate");
+ this.SetAttributeValue("msemr_telecom2enddate", value);
+ this.OnPropertyChanged("msemr_Telecom2EndDate");
+ }
+ }
+
+ ///
+ /// Specify preferred order of use (1 = highest)
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2rank")]
+ public System.Nullable msemr_Telecom2Rank
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom2rank");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2Rank");
+ this.SetAttributeValue("msemr_telecom2rank", value);
+ this.OnPropertyChanged("msemr_Telecom2Rank");
+ }
+ }
+
+ ///
+ /// Start time of validity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2startdate")]
+ public System.Nullable msemr_Telecom2StartDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom2startdate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2StartDate");
+ this.SetAttributeValue("msemr_telecom2startdate", value);
+ this.OnPropertyChanged("msemr_Telecom2StartDate");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2system")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom2System
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom2system");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2System");
+ this.SetAttributeValue("msemr_telecom2system", value);
+ this.OnPropertyChanged("msemr_Telecom2System");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2system")]
+ public virtual msemr_TelecomSystem? msemr_Telecom2SystemEnum
+ {
+ get
+ {
+ return ((msemr_TelecomSystem?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom2system")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2System");
+ this.SetAttributeValue("msemr_telecom2system", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom2System");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2use")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom2Use
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom2use");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2Use");
+ this.SetAttributeValue("msemr_telecom2use", value);
+ this.OnPropertyChanged("msemr_Telecom2Use");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom2use")]
+ public virtual msemr_telecomuse? msemr_Telecom2UseEnum
+ {
+ get
+ {
+ return ((msemr_telecomuse?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom2use")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom2Use");
+ this.SetAttributeValue("msemr_telecom2use", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom2Use");
+ }
+ }
+
+ ///
+ /// End time of validity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3enddate")]
+ public string msemr_Telecom3EndDate
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom3enddate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3EndDate");
+ this.SetAttributeValue("msemr_telecom3enddate", value);
+ this.OnPropertyChanged("msemr_Telecom3EndDate");
+ }
+ }
+
+ ///
+ /// Specify preferred order of use (1 = highest)
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3rank")]
+ public System.Nullable msemr_Telecom3Rank
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom3rank");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3Rank");
+ this.SetAttributeValue("msemr_telecom3rank", value);
+ this.OnPropertyChanged("msemr_Telecom3Rank");
+ }
+ }
+
+ ///
+ /// Start time of validtity of telecom
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3startdate")]
+ public System.Nullable msemr_Telecom3StartDate
+ {
+ get
+ {
+ return this.GetAttributeValue>("msemr_telecom3startdate");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3StartDate");
+ this.SetAttributeValue("msemr_telecom3startdate", value);
+ this.OnPropertyChanged("msemr_Telecom3StartDate");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3system")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom3System
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom3system");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3System");
+ this.SetAttributeValue("msemr_telecom3system", value);
+ this.OnPropertyChanged("msemr_Telecom3System");
+ }
+ }
+
+ ///
+ /// Type of Technology mediated contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3system")]
+ public virtual msemr_TelecomSystem? msemr_Telecom3SystemEnum
+ {
+ get
+ {
+ return ((msemr_TelecomSystem?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom3system")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3System");
+ this.SetAttributeValue("msemr_telecom3system", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom3System");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3use")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msemr_Telecom3Use
+ {
+ get
+ {
+ return this.GetAttributeValue("msemr_telecom3use");
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3Use");
+ this.SetAttributeValue("msemr_telecom3use", value);
+ this.OnPropertyChanged("msemr_Telecom3Use");
+ }
+ }
+
+ ///
+ /// purpose of this contact point
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msemr_telecom3use")]
+ public virtual msemr_telecomuse? msemr_Telecom3UseEnum
+ {
+ get
+ {
+ return ((msemr_telecomuse?)(EntityOptionSetEnum.GetEnum(this, "msemr_telecom3use")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msemr_Telecom3Use");
+ this.SetAttributeValue("msemr_telecom3use", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msemr_Telecom3Use");
+ }
+ }
+
+ ///
+ /// Indicates whether this account belongs to hotel group
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msevtmgt_hotelgroup")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msevtmgt_HotelGroup
+ {
+ get
+ {
+ return this.GetAttributeValue("msevtmgt_hotelgroup");
+ }
+ set
+ {
+ this.OnPropertyChanging("msevtmgt_HotelGroup");
+ this.SetAttributeValue("msevtmgt_hotelgroup", value);
+ this.OnPropertyChanged("msevtmgt_HotelGroup");
+ }
+ }
+
+ ///
+ /// Indicates whether this account belongs to hotel group
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msevtmgt_hotelgroup")]
+ public virtual msevtmgt_nooryes? msevtmgt_HotelGroupEnum
+ {
+ get
+ {
+ return ((msevtmgt_nooryes?)(EntityOptionSetEnum.GetEnum(this, "msevtmgt_hotelgroup")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msevtmgt_HotelGroup");
+ this.SetAttributeValue("msevtmgt_hotelgroup", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msevtmgt_HotelGroup");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msevtmgt_rentalcarprovider")]
+ public Microsoft.Xrm.Sdk.OptionSetValue msevtmgt_RentalCarProvider
+ {
+ get
+ {
+ return this.GetAttributeValue("msevtmgt_rentalcarprovider");
+ }
+ set
+ {
+ this.OnPropertyChanging("msevtmgt_RentalCarProvider");
+ this.SetAttributeValue("msevtmgt_rentalcarprovider", value);
+ this.OnPropertyChanged("msevtmgt_RentalCarProvider");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("msevtmgt_rentalcarprovider")]
+ public virtual msevtmgt_nooryes? msevtmgt_RentalCarProviderEnum
+ {
+ get
+ {
+ return ((msevtmgt_nooryes?)(EntityOptionSetEnum.GetEnum(this, "msevtmgt_rentalcarprovider")));
+ }
+ set
+ {
+ this.OnPropertyChanging("msevtmgt_RentalCarProvider");
+ this.SetAttributeValue("msevtmgt_rentalcarprovider", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("msevtmgt_RentalCarProvider");
+ }
+ }
+
+ ///
+ /// Type the company or business name.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("name")]
+ public string Name
+ {
+ get
+ {
+ return this.GetAttributeValue("name");
+ }
+ set
+ {
+ this.OnPropertyChanging("Name");
+ this.SetAttributeValue("name", value);
+ this.OnPropertyChanged("Name");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("new_dateonlytest")]
+ public System.Nullable new_DateOnlyTest
+ {
+ get
+ {
+ return this.GetAttributeValue>("new_dateonlytest");
+ }
+ set
+ {
+ this.OnPropertyChanging("new_DateOnlyTest");
+ this.SetAttributeValue("new_dateonlytest", value);
+ this.OnPropertyChanged("new_DateOnlyTest");
+ }
+ }
+
+ ///
+ ///
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("new_timezoneindependant")]
+ public System.Nullable new_TimeZoneIndependant
+ {
+ get
+ {
+ return this.GetAttributeValue>("new_timezoneindependant");
+ }
+ set
+ {
+ this.OnPropertyChanging("new_TimeZoneIndependant");
+ this.SetAttributeValue("new_timezoneindependant", value);
+ this.OnPropertyChanged("new_TimeZoneIndependant");
+ }
+ }
+
+ ///
+ /// Type the number of employees that work at the account for use in marketing segmentation and demographic analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("numberofemployees")]
+ public System.Nullable NumberOfEmployees
+ {
+ get
+ {
+ return this.GetAttributeValue>("numberofemployees");
+ }
+ set
+ {
+ this.OnPropertyChanging("NumberOfEmployees");
+ this.SetAttributeValue("numberofemployees", value);
+ this.OnPropertyChanged("NumberOfEmployees");
+ }
+ }
+
+ ///
+ /// Shows how long, in minutes, that the record was on hold.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("onholdtime")]
+ public System.Nullable OnHoldTime
+ {
+ get
+ {
+ return this.GetAttributeValue>("onholdtime");
+ }
+ }
+
+ ///
+ /// Number of open opportunities against an account and its child accounts.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("opendeals")]
+ public System.Nullable OpenDeals
+ {
+ get
+ {
+ return this.GetAttributeValue>("opendeals");
+ }
+ }
+
+ ///
+ /// Last Updated time of rollup field Open Deals.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("opendeals_date")]
+ public System.Nullable OpenDeals_Date
+ {
+ get
+ {
+ return this.GetAttributeValue>("opendeals_date");
+ }
+ }
+
+ ///
+ /// State of rollup field Open Deals.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("opendeals_state")]
+ public System.Nullable OpenDeals_State
+ {
+ get
+ {
+ return this.GetAttributeValue>("opendeals_state");
+ }
+ }
+
+ ///
+ /// Sum of open revenue against an account and its child accounts.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("openrevenue")]
+ public Microsoft.Xrm.Sdk.Money OpenRevenue
+ {
+ get
+ {
+ return this.GetAttributeValue("openrevenue");
+ }
+ }
+
+ ///
+ /// Value of the Open Revenue in base currency.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("openrevenue_base")]
+ public Microsoft.Xrm.Sdk.Money OpenRevenue_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("openrevenue_base");
+ }
+ }
+
+ ///
+ /// Last Updated time of rollup field Open Revenue.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("openrevenue_date")]
+ public System.Nullable OpenRevenue_Date
+ {
+ get
+ {
+ return this.GetAttributeValue>("openrevenue_date");
+ }
+ }
+
+ ///
+ /// State of rollup field Open Revenue.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("openrevenue_state")]
+ public System.Nullable OpenRevenue_State
+ {
+ get
+ {
+ return this.GetAttributeValue>("openrevenue_state");
+ }
+ }
+
+ ///
+ /// Shows the lead that the account was created from if the account was created by converting a lead in Microsoft Dynamics 365. This is used to relate the account to data on the originating lead for use in reporting and analytics.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("originatingleadid")]
+ public Microsoft.Xrm.Sdk.EntityReference OriginatingLeadId
+ {
+ get
+ {
+ return this.GetAttributeValue("originatingleadid");
+ }
+ set
+ {
+ this.OnPropertyChanging("OriginatingLeadId");
+ this.SetAttributeValue("originatingleadid", value);
+ this.OnPropertyChanged("OriginatingLeadId");
+ }
+ }
+
+ ///
+ /// Date and time that the record was migrated.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("overriddencreatedon")]
+ public System.Nullable OverriddenCreatedOn
+ {
+ get
+ {
+ return this.GetAttributeValue>("overriddencreatedon");
+ }
+ set
+ {
+ this.OnPropertyChanging("OverriddenCreatedOn");
+ this.SetAttributeValue("overriddencreatedon", value);
+ this.OnPropertyChanged("OverriddenCreatedOn");
+ }
+ }
+
+ ///
+ /// Enter the user or team who is assigned to manage the record. This field is updated every time the record is assigned to a different user.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("ownerid")]
+ public Microsoft.Xrm.Sdk.EntityReference OwnerId
+ {
+ get
+ {
+ return this.GetAttributeValue("ownerid");
+ }
+ set
+ {
+ this.OnPropertyChanging("OwnerId");
+ this.SetAttributeValue("ownerid", value);
+ this.OnPropertyChanged("OwnerId");
+ }
+ }
+
+ ///
+ /// Select the account's ownership structure, such as public or private.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("ownershipcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue OwnershipCode
+ {
+ get
+ {
+ return this.GetAttributeValue("ownershipcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("OwnershipCode");
+ this.SetAttributeValue("ownershipcode", value);
+ this.OnPropertyChanged("OwnershipCode");
+ }
+ }
+
+ ///
+ /// Select the account's ownership structure, such as public or private.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("ownershipcode")]
+ public virtual Account_OwnershipCode? OwnershipCodeEnum
+ {
+ get
+ {
+ return ((Account_OwnershipCode?)(EntityOptionSetEnum.GetEnum(this, "ownershipcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("OwnershipCode");
+ this.SetAttributeValue("ownershipcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("OwnershipCode");
+ }
+ }
+
+ ///
+ /// Shows the business unit that the record owner belongs to.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("owningbusinessunit")]
+ public Microsoft.Xrm.Sdk.EntityReference OwningBusinessUnit
+ {
+ get
+ {
+ return this.GetAttributeValue("owningbusinessunit");
+ }
+ }
+
+ ///
+ /// Unique identifier of the team who owns the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("owningteam")]
+ public Microsoft.Xrm.Sdk.EntityReference OwningTeam
+ {
+ get
+ {
+ return this.GetAttributeValue("owningteam");
+ }
+ }
+
+ ///
+ /// Unique identifier of the user who owns the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("owninguser")]
+ public Microsoft.Xrm.Sdk.EntityReference OwningUser
+ {
+ get
+ {
+ return this.GetAttributeValue("owninguser");
+ }
+ }
+
+ ///
+ /// Choose the parent account associated with this account to show parent and child businesses in reporting and analytics.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("parentaccountid")]
+ public Microsoft.Xrm.Sdk.EntityReference ParentAccountId
+ {
+ get
+ {
+ return this.GetAttributeValue("parentaccountid");
+ }
+ set
+ {
+ this.OnPropertyChanging("ParentAccountId");
+ this.SetAttributeValue("parentaccountid", value);
+ this.OnPropertyChanged("ParentAccountId");
+ }
+ }
+
+ ///
+ /// For system use only. Legacy Microsoft Dynamics CRM 3.0 workflow data.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("participatesinworkflow")]
+ public System.Nullable ParticipatesInWorkflow
+ {
+ get
+ {
+ return this.GetAttributeValue>("participatesinworkflow");
+ }
+ set
+ {
+ this.OnPropertyChanging("ParticipatesInWorkflow");
+ this.SetAttributeValue("participatesinworkflow", value);
+ this.OnPropertyChanged("ParticipatesInWorkflow");
+ }
+ }
+
+ ///
+ /// Select the payment terms to indicate when the customer needs to pay the total amount.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("paymenttermscode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue PaymentTermsCode
+ {
+ get
+ {
+ return this.GetAttributeValue("paymenttermscode");
+ }
+ set
+ {
+ this.OnPropertyChanging("PaymentTermsCode");
+ this.SetAttributeValue("paymenttermscode", value);
+ this.OnPropertyChanged("PaymentTermsCode");
+ }
+ }
+
+ ///
+ /// Select the payment terms to indicate when the customer needs to pay the total amount.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("paymenttermscode")]
+ public virtual Account_PaymentTermsCode? PaymentTermsCodeEnum
+ {
+ get
+ {
+ return ((Account_PaymentTermsCode?)(EntityOptionSetEnum.GetEnum(this, "paymenttermscode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("PaymentTermsCode");
+ this.SetAttributeValue("paymenttermscode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("PaymentTermsCode");
+ }
+ }
+
+ ///
+ /// Select the preferred day of the week for service appointments.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredappointmentdaycode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue PreferredAppointmentDayCode
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredappointmentdaycode");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredAppointmentDayCode");
+ this.SetAttributeValue("preferredappointmentdaycode", value);
+ this.OnPropertyChanged("PreferredAppointmentDayCode");
+ }
+ }
+
+ ///
+ /// Select the preferred day of the week for service appointments.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredappointmentdaycode")]
+ public virtual Account_PreferredAppointmentDayCode? PreferredAppointmentDayCodeEnum
+ {
+ get
+ {
+ return ((Account_PreferredAppointmentDayCode?)(EntityOptionSetEnum.GetEnum(this, "preferredappointmentdaycode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredAppointmentDayCode");
+ this.SetAttributeValue("preferredappointmentdaycode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("PreferredAppointmentDayCode");
+ }
+ }
+
+ ///
+ /// Select the preferred time of day for service appointments.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredappointmenttimecode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue PreferredAppointmentTimeCode
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredappointmenttimecode");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredAppointmentTimeCode");
+ this.SetAttributeValue("preferredappointmenttimecode", value);
+ this.OnPropertyChanged("PreferredAppointmentTimeCode");
+ }
+ }
+
+ ///
+ /// Select the preferred time of day for service appointments.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredappointmenttimecode")]
+ public virtual Account_PreferredAppointmentTimeCode? PreferredAppointmentTimeCodeEnum
+ {
+ get
+ {
+ return ((Account_PreferredAppointmentTimeCode?)(EntityOptionSetEnum.GetEnum(this, "preferredappointmenttimecode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredAppointmentTimeCode");
+ this.SetAttributeValue("preferredappointmenttimecode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("PreferredAppointmentTimeCode");
+ }
+ }
+
+ ///
+ /// Select the preferred method of contact.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredcontactmethodcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue PreferredContactMethodCode
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredcontactmethodcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredContactMethodCode");
+ this.SetAttributeValue("preferredcontactmethodcode", value);
+ this.OnPropertyChanged("PreferredContactMethodCode");
+ }
+ }
+
+ ///
+ /// Select the preferred method of contact.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredcontactmethodcode")]
+ public virtual Account_PreferredContactMethodCode? PreferredContactMethodCodeEnum
+ {
+ get
+ {
+ return ((Account_PreferredContactMethodCode?)(EntityOptionSetEnum.GetEnum(this, "preferredcontactmethodcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredContactMethodCode");
+ this.SetAttributeValue("preferredcontactmethodcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("PreferredContactMethodCode");
+ }
+ }
+
+ ///
+ /// Choose the account's preferred service facility or equipment to make sure services are scheduled correctly for the customer.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredequipmentid")]
+ public Microsoft.Xrm.Sdk.EntityReference PreferredEquipmentId
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredequipmentid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredEquipmentId");
+ this.SetAttributeValue("preferredequipmentid", value);
+ this.OnPropertyChanged("PreferredEquipmentId");
+ }
+ }
+
+ ///
+ /// Choose the account's preferred service for reference when you schedule service activities.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredserviceid")]
+ public Microsoft.Xrm.Sdk.EntityReference PreferredServiceId
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredserviceid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredServiceId");
+ this.SetAttributeValue("preferredserviceid", value);
+ this.OnPropertyChanged("PreferredServiceId");
+ }
+ }
+
+ ///
+ /// Choose the preferred service representative for reference when you schedule service activities for the account.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("preferredsystemuserid")]
+ public Microsoft.Xrm.Sdk.EntityReference PreferredSystemUserId
+ {
+ get
+ {
+ return this.GetAttributeValue("preferredsystemuserid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PreferredSystemUserId");
+ this.SetAttributeValue("preferredsystemuserid", value);
+ this.OnPropertyChanged("PreferredSystemUserId");
+ }
+ }
+
+ ///
+ /// Choose the primary contact for the account to provide quick access to contact details.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("primarycontactid")]
+ public Microsoft.Xrm.Sdk.EntityReference PrimaryContactId
+ {
+ get
+ {
+ return this.GetAttributeValue("primarycontactid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PrimaryContactId");
+ this.SetAttributeValue("primarycontactid", value);
+ this.OnPropertyChanged("PrimaryContactId");
+ }
+ }
+
+ ///
+ /// Primary Satori ID for Account
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("primarysatoriid")]
+ public string PrimarySatoriId
+ {
+ get
+ {
+ return this.GetAttributeValue("primarysatoriid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PrimarySatoriId");
+ this.SetAttributeValue("primarysatoriid", value);
+ this.OnPropertyChanged("PrimarySatoriId");
+ }
+ }
+
+ ///
+ /// Primary Twitter ID for Account
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("primarytwitterid")]
+ public string PrimaryTwitterId
+ {
+ get
+ {
+ return this.GetAttributeValue("primarytwitterid");
+ }
+ set
+ {
+ this.OnPropertyChanging("PrimaryTwitterId");
+ this.SetAttributeValue("primarytwitterid", value);
+ this.OnPropertyChanged("PrimaryTwitterId");
+ }
+ }
+
+ ///
+ /// Shows the ID of the process.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("processid")]
+ public System.Nullable ProcessId
+ {
+ get
+ {
+ return this.GetAttributeValue>("processid");
+ }
+ set
+ {
+ this.OnPropertyChanging("ProcessId");
+ this.SetAttributeValue("processid", value);
+ this.OnPropertyChanged("ProcessId");
+ }
+ }
+
+ ///
+ /// Type the annual revenue for the account, used as an indicator in financial performance analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("revenue")]
+ public Microsoft.Xrm.Sdk.Money Revenue
+ {
+ get
+ {
+ return this.GetAttributeValue("revenue");
+ }
+ set
+ {
+ this.OnPropertyChanging("Revenue");
+ this.SetAttributeValue("revenue", value);
+ this.OnPropertyChanged("Revenue");
+ }
+ }
+
+ ///
+ /// Shows the annual revenue converted to the system's default base currency. The calculations use the exchange rate specified in the Currencies area.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("revenue_base")]
+ public Microsoft.Xrm.Sdk.Money Revenue_Base
+ {
+ get
+ {
+ return this.GetAttributeValue("revenue_base");
+ }
+ }
+
+ ///
+ /// Type the number of shares available to the public for the account. This number is used as an indicator in financial performance analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("sharesoutstanding")]
+ public System.Nullable SharesOutstanding
+ {
+ get
+ {
+ return this.GetAttributeValue>("sharesoutstanding");
+ }
+ set
+ {
+ this.OnPropertyChanging("SharesOutstanding");
+ this.SetAttributeValue("sharesoutstanding", value);
+ this.OnPropertyChanged("SharesOutstanding");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to the account's address to designate the preferred carrier or other delivery option.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("shippingmethodcode")]
+ public Microsoft.Xrm.Sdk.OptionSetValue ShippingMethodCode
+ {
+ get
+ {
+ return this.GetAttributeValue("shippingmethodcode");
+ }
+ set
+ {
+ this.OnPropertyChanging("ShippingMethodCode");
+ this.SetAttributeValue("shippingmethodcode", value);
+ this.OnPropertyChanged("ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Select a shipping method for deliveries sent to the account's address to designate the preferred carrier or other delivery option.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("shippingmethodcode")]
+ public virtual Account_ShippingMethodCode? ShippingMethodCodeEnum
+ {
+ get
+ {
+ return ((Account_ShippingMethodCode?)(EntityOptionSetEnum.GetEnum(this, "shippingmethodcode")));
+ }
+ set
+ {
+ this.OnPropertyChanging("ShippingMethodCode");
+ this.SetAttributeValue("shippingmethodcode", value.HasValue ? new Microsoft.Xrm.Sdk.OptionSetValue((int)value) : null);
+ this.OnPropertyChanged("ShippingMethodCode");
+ }
+ }
+
+ ///
+ /// Type the Standard Industrial Classification (SIC) code that indicates the account's primary industry of business, for use in marketing segmentation and demographic analysis.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("sic")]
+ public string SIC
+ {
+ get
+ {
+ return this.GetAttributeValue("sic");
+ }
+ set
+ {
+ this.OnPropertyChanging("SIC");
+ this.SetAttributeValue("sic", value);
+ this.OnPropertyChanged("SIC");
+ }
+ }
+
+ ///
+ /// Choose the service level agreement (SLA) that you want to apply to the Account record.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("slaid")]
+ public Microsoft.Xrm.Sdk.EntityReference SLAId
+ {
+ get
+ {
+ return this.GetAttributeValue("slaid");
+ }
+ set
+ {
+ this.OnPropertyChanging("SLAId");
+ this.SetAttributeValue("slaid", value);
+ this.OnPropertyChanged("SLAId");
+ }
+ }
+
+ ///
+ /// Last SLA that was applied to this case. This field is for internal use only.
+ ///
+ [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("slainvokedid")]
+ public Microsoft.Xrm.Sdk.EntityReference SLAInvokedId
+ {
+ get
+ {
+ return this.GetAttributeValue("slainvokedid");
+ }
+ }
+
+ ///