release/9.40 - Commerce Sample Update
|
@ -86,7 +86,6 @@ StyleCop.Cache
|
|||
build/.gen_oacr/
|
||||
build/oacr_exclude.ini
|
||||
*.tslint
|
||||
*.d.ts
|
||||
*.map
|
||||
*.generated
|
||||
*.rsp
|
||||
|
@ -121,4 +120,52 @@ devDependencies/
|
|||
/nu/t
|
||||
|
||||
# Ignore generated nuget packages
|
||||
*.nupkg
|
||||
*.nupkg
|
||||
|
||||
project.lock.json
|
||||
artifacts/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Others
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
# package lock is not to be used in addition to npm shrinkwrap
|
||||
**/package-lock.json
|
||||
|
||||
# exclude dist artifacts folder
|
||||
packages/**/dist
|
||||
packages/**/build
|
||||
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
.DS_Store
|
||||
|
||||
coverage
|
||||
node_modules
|
||||
build
|
||||
dist/
|
||||
lib/
|
||||
!sdk/**/dist/
|
||||
!starter-pack/**/dist
|
||||
!sdk/**/lib
|
||||
!starter-pack/**/lib
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
lib/module-registration*
|
||||
stats-build-warnings.json
|
||||
stats-build-errors.json
|
||||
gendef.lock
|
||||
integration-test-report.xml
|
||||
*.lock
|
||||
# permission
|
||||
*.pem
|
||||
|
||||
# build artifacts
|
||||
version.json
|
||||
stats-client-*.json
|
||||
stats-server-*.json
|
14
repo.props
|
@ -1,7 +1,7 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<BuildNumber Condition="'$(BuildNumber)' == ''">0.0</BuildNumber>
|
||||
<MajorVersion>9.39</MajorVersion>
|
||||
<MajorVersion>9.40</MajorVersion>
|
||||
<Version>$(MajorVersion).$(BuildNumber)</Version>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
@ -9,11 +9,13 @@
|
|||
<PublisherDisplayName Condition="'$(PublisherDisplayName)' == ''">Contoso Ltd.</PublisherDisplayName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<CommerceSdkPackagesVersion>[9.39.22250.4-preview,9.40)</CommerceSdkPackagesVersion>
|
||||
<CommercePosPackagesVersion>[9.39.*,9.40)</CommercePosPackagesVersion>
|
||||
<CommerceChannelPackagesVersion>[9.39.22249.3-preview,9.40)</CommerceChannelPackagesVersion>
|
||||
<CommerceHwsPackagesVersion>[9.39.22249.6-preview,9.40)</CommerceHwsPackagesVersion>
|
||||
<CommerceSdkPackagesVersion>[9.40.22250.5-preview,9.41)</CommerceSdkPackagesVersion>
|
||||
<CommercePosPackagesVersion>[9.40.*,9.41)</CommercePosPackagesVersion>
|
||||
<CommerceChannelPackagesVersion>[9.40.22249.2-preview,9.41)</CommerceChannelPackagesVersion>
|
||||
<CommerceHwsPackagesVersion>[9.40.22249.5-preview,9.41)</CommerceHwsPackagesVersion>
|
||||
<CommerceToolsPackagesVersion>[10.27.22248.2-preview,10.28)</CommerceToolsPackagesVersion>
|
||||
<CommercePaymentsPackagesVersion>[10.39.22245.5-preview,10.40)</CommercePaymentsPackagesVersion>
|
||||
<CommercePaymentsPackagesVersion>[10.40.22245.1-preview,10.41)</CommercePaymentsPackagesVersion>
|
||||
<!-- Newtonsoft.Json -->
|
||||
<NewtonsoftJsonVersion>13.0.1</NewtonsoftJsonVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -9,7 +9,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Identity.Client" Version="4.3.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Configuration" />
|
||||
|
|
|
@ -12,6 +12,6 @@
|
|||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Runtime" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.Localization.Data.Services.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -39,22 +39,17 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Response response;
|
||||
|
||||
if (request is GetReportXTaskDocumentProviderAtolRequest getReportXTaskDocumentProviderAtolRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = await this.GetReportXTask(getReportXTaskDocumentProviderAtolRequest).ConfigureAwait(false);
|
||||
case GetReportXTaskDocumentProviderAtolRequest getReportXTaskDocumentProviderAtolRequest:
|
||||
return GetReportXTask(getReportXTaskDocumentProviderAtolRequest);
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -62,7 +57,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Th response.</returns>
|
||||
private async Task<GetReportXTaskDocumentProviderAtolResponse> GetReportXTask(GetReportXTaskDocumentProviderAtolRequest request)
|
||||
private async Task<Response> GetReportXTask(GetReportXTaskDocumentProviderAtolRequest request)
|
||||
{
|
||||
SerializeToAtolCommandRequest serializeToAtolCommandRequest = new SerializeToAtolCommandRequest(new AtolPrintXReportTask());
|
||||
var serializeToAtolCommandResponse = await request.RequestContext.ExecuteAsync<SerializeToAtolCommandResponse>(serializeToAtolCommandRequest).ConfigureAwait(false);
|
||||
|
|
|
@ -38,22 +38,17 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Response response;
|
||||
|
||||
if (request is GetSalesOrderDocumentReceiptAtolRequest getSalesOrderDocumentReceiptAtolRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = await this.GetFiscalDocumentAsync(getSalesOrderDocumentReceiptAtolRequest).ConfigureAwait(false);
|
||||
case GetSalesOrderDocumentReceiptAtolRequest getSalesOrderDocumentReceiptAtolRequest:
|
||||
return GetFiscalDocumentAsync(getSalesOrderDocumentReceiptAtolRequest);
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -61,7 +56,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The seles order document receipt provider response.</returns>
|
||||
private async Task<GetSalesOrderDocumentReceiptAtolResponse> GetFiscalDocumentAsync(GetSalesOrderDocumentReceiptAtolRequest request)
|
||||
private async Task<Response> GetFiscalDocumentAsync(GetSalesOrderDocumentReceiptAtolRequest request)
|
||||
{
|
||||
var document = await DocumentBuilder.Build(request.RequestContext, request.SalesOrder, request.FiscalIntegrationFunctionalityProfile).ConfigureAwait(false);
|
||||
var fiscalIntegrationDocument = new FiscalIntegrationDocument(document, FiscalIntegrationDocumentGenerationResultType.Succeeded);
|
||||
|
|
|
@ -39,22 +39,17 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Response response;
|
||||
|
||||
if (request is GetCloseShiftTaskDocumentProviderAtolRequest getCloseShiftTaskDocumentProviderAtolRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = await this.GetCloseShiftTaskAsync(getCloseShiftTaskDocumentProviderAtolRequest).ConfigureAwait(false);
|
||||
case GetCloseShiftTaskDocumentProviderAtolRequest getCloseShiftTaskDocumentProviderAtolRequest:
|
||||
return GetCloseShiftTaskAsync(getCloseShiftTaskDocumentProviderAtolRequest);
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -62,7 +57,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
private async Task<GetCloseShiftTaskDocumentProviderAtolResponse> GetCloseShiftTaskAsync(GetCloseShiftTaskDocumentProviderAtolRequest request)
|
||||
private async Task<Response> GetCloseShiftTaskAsync(GetCloseShiftTaskDocumentProviderAtolRequest request)
|
||||
{
|
||||
var connectorProfile = await request.RequestContext.ExecuteAsync<DeserializeDocumentProviderSettingsDocumentProviderAtolResponse>(new DeserializeDocumentProviderSettingsDocumentProviderAtolRequest(request.FiscalIntegrationFunctionalityProfile)).ConfigureAwait(false);
|
||||
var closeShiftTask = new AtolCloseShiftTask()
|
||||
|
|
|
@ -43,21 +43,18 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Response response;
|
||||
if (request is DeserializeDocumentProviderSettingsDocumentProviderAtolRequest deserializeDocumentProviderSettingsDocumentProviderAtolRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = this.DeserializeConnectorFunctiolityProfile(deserializeDocumentProviderSettingsDocumentProviderAtolRequest);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
case DeserializeDocumentProviderSettingsDocumentProviderAtolRequest deserializeDocumentProviderSettingsDocumentProviderAtolRequest:
|
||||
return Task.FromResult<Response>(DeserializeConnectorFunctiolityProfile(deserializeDocumentProviderSettingsDocumentProviderAtolRequest));
|
||||
|
||||
return response;
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -88,7 +88,7 @@ namespace Contoso
|
|||
return this.GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest);
|
||||
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,22 +40,18 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Response response;
|
||||
|
||||
if (request is GetPaymentsForSalesOrderAtolRequest getPaymentsForSalesOrderAtolRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = await this.GetPaymentsAsync(getPaymentsForSalesOrderAtolRequest).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
case GetPaymentsForSalesOrderAtolRequest getPaymentsForSalesOrderAtolRequest:
|
||||
return GetPaymentsAsync(getPaymentsForSalesOrderAtolRequest);
|
||||
|
||||
return response;
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -63,7 +59,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The list of payments for a sales order.</returns>
|
||||
private async Task<GetPaymentsForSalesOrderAtolResponse> GetPaymentsAsync(GetPaymentsForSalesOrderAtolRequest request)
|
||||
private async Task<Response> GetPaymentsAsync(GetPaymentsForSalesOrderAtolRequest request)
|
||||
{
|
||||
DeserializeDocumentProviderSettingsDocumentProviderAtolRequest deserializeDocumentProviderSettingsDocumentProviderAtolRequest = new DeserializeDocumentProviderSettingsDocumentProviderAtolRequest(request.FiscalIntegrationFunctionalityProfile);
|
||||
var deserializeDocumentProviderSettingsDocumentProviderAtolResponse = await request.RequestContext.ExecuteAsync<DeserializeDocumentProviderSettingsDocumentProviderAtolResponse>(deserializeDocumentProviderSettingsDocumentProviderAtolRequest).ConfigureAwait(false);
|
||||
|
|
|
@ -39,20 +39,16 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The incoming request message.</param>
|
||||
/// <returns>The outgoing response message.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
Response response;
|
||||
|
||||
if (request is SerializeToAtolCommandRequest serializeToAtolCommandRequest)
|
||||
switch (request)
|
||||
{
|
||||
response = this.SerializeTask(serializeToAtolCommandRequest);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
case SerializeToAtolCommandRequest serializeToAtolCommandRequest:
|
||||
return Task.FromResult(SerializeTask(serializeToAtolCommandRequest));
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -60,7 +56,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The response containing the json string of the serialized command.</returns>
|
||||
private SerializeToAtolCommandResponse SerializeTask(SerializeToAtolCommandRequest request)
|
||||
private Response SerializeTask(SerializeToAtolCommandRequest request)
|
||||
{
|
||||
string serializedCommand = string.Empty;
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
|
|
|
@ -10,6 +10,6 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -51,29 +51,20 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Type requestType = request.GetType();
|
||||
|
||||
if (request is InitializeFiscalDeviceRequest)
|
||||
switch (request)
|
||||
{
|
||||
return Initialize(request as InitializeFiscalDeviceRequest);
|
||||
}
|
||||
if (requestType == typeof(SubmitDocumentFiscalDeviceRequest))
|
||||
{
|
||||
SubmitDocumentFiscalDeviceRequest submitDocumentRequest = (SubmitDocumentFiscalDeviceRequest)request;
|
||||
return await SubmitDocument(submitDocumentRequest);
|
||||
}
|
||||
else if (requestType == typeof(IsReadyFiscalDeviceRequest))
|
||||
{
|
||||
IsReadyFiscalDeviceRequest isReadyRequest = (IsReadyFiscalDeviceRequest)request;
|
||||
return await IsReady(isReadyRequest);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", requestType));
|
||||
case InitializeFiscalDeviceRequest initializeFiscalDeviceRequest:
|
||||
return Task.FromResult<Response>(Initialize(initializeFiscalDeviceRequest));
|
||||
case IsReadyFiscalDeviceRequest isReadyFiscalDeviceRequest:
|
||||
return IsReady(isReadyFiscalDeviceRequest);
|
||||
case SubmitDocumentFiscalDeviceRequest submitDocumentFiscalDeviceRequest:
|
||||
return SubmitDocument(submitDocumentFiscalDeviceRequest);
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,23 +41,17 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">Th request.</param>
|
||||
/// <returns>The response.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Type requestType = request.GetType();
|
||||
Response response;
|
||||
|
||||
if (requestType == typeof(GetConnectorConfigurationConnectorAtolRequest))
|
||||
switch(request)
|
||||
{
|
||||
response = this.GetConnectorSettings((GetConnectorConfigurationConnectorAtolRequest)request);
|
||||
case GetConnectorConfigurationConnectorAtolRequest getConnectorConfigurationConnectorAtolRequest:
|
||||
return Task.FromResult<Response>(this.GetConnectorSettings(getConnectorConfigurationConnectorAtolRequest));
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -51,8 +51,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -56,27 +56,19 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request to execute.</param>
|
||||
/// <returns>The response of the request from the request handler.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
Type requestType = request.GetType();
|
||||
Response response;
|
||||
|
||||
if (requestType == typeof(GetFiscalDocumentDocumentProviderRequest))
|
||||
switch(request)
|
||||
{
|
||||
response = await this.GetFiscalDocumentAsync((GetFiscalDocumentDocumentProviderRequest)request).ConfigureAwait(false);
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return this.GetFiscalDocumentAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
case GetSupportedRegistrableEventsDocumentProviderRequest _:
|
||||
return Task.FromResult(this.GetSupportedRegistrableEvents());
|
||||
default:
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
else if (requestType == typeof(GetSupportedRegistrableEventsDocumentProviderRequest))
|
||||
{
|
||||
response = this.GetSupportedRegistrableEvents();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"Request '{request.GetType()}' is not supported.");
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -84,7 +76,7 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>The fiscal document document provider response.</returns>
|
||||
private async Task<GetFiscalDocumentDocumentProviderResponse> GetFiscalDocumentAsync(GetFiscalDocumentDocumentProviderRequest request)
|
||||
private async Task<Response> GetFiscalDocumentAsync(GetFiscalDocumentDocumentProviderRequest request)
|
||||
{
|
||||
FiscalIntegrationEventType eventType = request.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType;
|
||||
FiscalIntegrationDocumentGenerationResultType generationResultType = FiscalIntegrationDocumentGenerationResultType.None;
|
||||
|
@ -118,7 +110,7 @@ namespace Contoso
|
|||
/// Gets the supported registrable events document provider response.
|
||||
/// </summary>
|
||||
/// <returns>The supported registrable events document provider response.</returns>
|
||||
private GetSupportedRegistrableEventsDocumentProviderResponse GetSupportedRegistrableEvents()
|
||||
private Response GetSupportedRegistrableEvents()
|
||||
{
|
||||
return new GetSupportedRegistrableEventsDocumentProviderResponse(this.SupportedRegistrableEventsId.ToList(), new List<int>());
|
||||
}
|
||||
|
|
|
@ -35,8 +35,10 @@ namespace Contoso
|
|||
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(cleanCashFiscalTransactionData.GetType());
|
||||
jsonSerializer.WriteObject(memoryStream, cleanCashFiscalTransactionData);
|
||||
memoryStream.Position = 0;
|
||||
StreamReader reader = new StreamReader(memoryStream);
|
||||
return await reader.ReadToEndAsync().ConfigureAwait(false);
|
||||
using (var reader = new StreamReader(memoryStream))
|
||||
{
|
||||
return await reader.ReadToEndAsync().ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Connector.CleanCashSample\Connector.CleanCashSample.csproj">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -51,8 +51,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -16,9 +16,9 @@ namespace Contoso
|
|||
public static class ConfigurationElementConstants
|
||||
{
|
||||
/// <summary>
|
||||
/// The inner text of namespace element for data mapping.
|
||||
/// The BooleanValue element.
|
||||
/// </summary>
|
||||
public const string FiscalServiceDataMappingInfo = "FiscalServiceDataMappingInfo";
|
||||
public const string BooleanValueElement = "BooleanValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Namespace element for ConnectorConnectionInfo.
|
||||
|
@ -26,39 +26,9 @@ namespace Contoso
|
|||
public const string ConnectorConnectionInfo = "ConnectorConnectionInfo";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the name element.
|
||||
/// The inner text of Namespace element for ConnectorSettingsInfo.
|
||||
/// </summary>
|
||||
public const string NameElement = "Name";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the namespace element.
|
||||
/// </summary>
|
||||
public const string NamespaceElement = "Namespace";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the property element.
|
||||
/// </summary>
|
||||
public const string PropertyElement = "ConfigurationProperty";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the root element.
|
||||
/// </summary>
|
||||
public const string RootElement = "ConfigurationProperties";
|
||||
|
||||
/// <summary>
|
||||
/// The StringValue element.
|
||||
/// </summary>
|
||||
public const string StringValueElement = "StringValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for EndPointAddress property.
|
||||
/// </summary>
|
||||
public const string EndPointAddress = "EndPointAddress";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for tax rates mapping property.
|
||||
/// </summary>
|
||||
public const string TaxRatesMapping = "TaxRatesMapping";
|
||||
public const string ConnectorSettingsInfo = "ConnectorSettingsInfo";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for default tax group.
|
||||
|
@ -70,34 +40,35 @@ namespace Contoso
|
|||
/// </summary>
|
||||
public const string DepositTaxGroup = "DepositTaxGroup";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for EndPointAddress property.
|
||||
/// </summary>
|
||||
public const string EndPointAddress = "EndPointAddress";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for exempt tax group.
|
||||
/// </summary>
|
||||
public const string ExemptTaxGroup = "ExemptTaxGroup";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of namespace element for data mapping.
|
||||
/// </summary>
|
||||
public const string FiscalServiceDataMappingInfo = "FiscalServiceDataMappingInfo";
|
||||
|
||||
/// <summary>
|
||||
/// The IntegerValue element.
|
||||
/// </summary>
|
||||
public const string IntegerValueElement = "IntegerValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Namespace element for ConnectorSettingsInfo.
|
||||
/// The name of the name element.
|
||||
/// </summary>
|
||||
public const string ConnectorSettingsInfo = "ConnectorSettingsInfo";
|
||||
public const string NameElement = "Name";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for Timeout property.
|
||||
/// The name of the namespace element.
|
||||
/// </summary>
|
||||
public const string Timeout = "Timeout";
|
||||
|
||||
/// <summary>
|
||||
/// The ShowUserNotificationMessage element name.
|
||||
/// </summary>
|
||||
public const string ShowUserNotificationMessage = "ShowUserNotificationMessage";
|
||||
|
||||
/// The inner text of Name element for tender type mapping property.
|
||||
/// </summary>
|
||||
public const string TenderTypeMapping = "TenderTypeMapping";
|
||||
public const string NamespaceElement = "Namespace";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for print customer data property.
|
||||
|
@ -105,9 +76,39 @@ namespace Contoso
|
|||
public const string PrintCustomerDataInReceipt = "PrintCustomerDataInReceipt";
|
||||
|
||||
/// <summary>
|
||||
/// The BooleanValue element.
|
||||
/// The name of the property element.
|
||||
/// </summary>
|
||||
public const string BooleanValueElement = "BooleanValue";
|
||||
public const string PropertyElement = "ConfigurationProperty";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the root element.
|
||||
/// </summary>
|
||||
public const string RootElement = "ConfigurationProperties";
|
||||
|
||||
/// <summary>
|
||||
/// The ShowUserNotificationMessage element name.
|
||||
/// </summary>
|
||||
public const string ShowUserNotificationMessage = "ShowUserNotificationMessage";
|
||||
|
||||
/// <summary>
|
||||
/// The StringValue element.
|
||||
/// </summary>
|
||||
public const string StringValueElement = "StringValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for tax rates mapping property.
|
||||
/// </summary>
|
||||
public const string TaxRatesMapping = "TaxRatesMapping";
|
||||
|
||||
/// The inner text of Name element for tender type mapping property.
|
||||
/// </summary>
|
||||
public const string TenderTypeMapping = "TenderTypeMapping";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for Timeout property.
|
||||
/// </summary>
|
||||
public const string Timeout = "Timeout";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,14 +18,6 @@ namespace Contoso
|
|||
/// </remark>
|
||||
public static class RegistrationResultCodeConstants
|
||||
{
|
||||
/// <summary>
|
||||
/// Http status 200 OK.
|
||||
/// </summary>
|
||||
/// <remark>
|
||||
/// Print receipt.
|
||||
/// </remark>
|
||||
public const string TransactionProcessedSuccessfully = "OK";
|
||||
|
||||
/// <summary>
|
||||
/// Http status 406 Not Acceptable.
|
||||
/// </summary>
|
||||
|
@ -41,6 +33,14 @@ namespace Contoso
|
|||
/// Terminate transaction.
|
||||
/// </remark>
|
||||
public const string InvalidRequestData = "BAD";
|
||||
|
||||
/// <summary>
|
||||
/// Http status 200 OK.
|
||||
/// </summary>
|
||||
/// <remark>
|
||||
/// Print receipt.
|
||||
/// </remark>
|
||||
public const string TransactionProcessedSuccessfully = "OK";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,16 +21,16 @@ namespace Contoso
|
|||
/// </summary>
|
||||
public const string CustomerDeposit = "CustomerDeposit";
|
||||
|
||||
/// <summary>
|
||||
/// Deposit account label.
|
||||
/// </summary>
|
||||
public const string DepositAccount = "DepositAccount";
|
||||
|
||||
/// <summary>
|
||||
/// Deposit label.
|
||||
/// </summary>
|
||||
public const string Deposit = "Deposit";
|
||||
|
||||
/// <summary>
|
||||
/// Deposit account label.
|
||||
/// </summary>
|
||||
public const string DepositAccount = "DepositAccount";
|
||||
|
||||
/// <summary>
|
||||
/// Gift card label.
|
||||
/// </summary>
|
||||
|
|
|
@ -91,13 +91,13 @@ namespace Contoso
|
|||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetOperatorName(string staffId)
|
||||
{
|
||||
var request = new GetEfrOperatorNameRequest(staffId);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ namespace Contoso
|
|||
private async Task<List<ReceiptPayment>> CreateReceiptPaymentsAsync()
|
||||
{
|
||||
var request = new GetEfrReceiptPaymentsRequest(this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -133,37 +133,37 @@ namespace Contoso
|
|||
private async Task<DataModelEFR.Documents.Receipt> PopulateEfrLocalizationInfo(DataModelEFR.Documents.Receipt receipt)
|
||||
{
|
||||
var request = new PopulateEfrLocalizationInfoRequest(receipt, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<DataModelEFR.Documents.Receipt> PopulateEfrCustomerData(DataModelEFR.Documents.Receipt receipt)
|
||||
{
|
||||
var request = new PopulateEfrCustomerDataRequest(receipt, this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetCustomerAccountDepositTransactionType()
|
||||
{
|
||||
var request = new GetEfrCustomerAccountDepositTransactionTypeRequest();
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<List<ReceiptPosition>> GetCustomerAccountDepositPositions(List<ReceiptPosition> receiptPositions)
|
||||
{
|
||||
var request = new GetEfrCustomerAccountDepositPositionsRequest(receiptPositions, this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPosition>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPosition>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<List<ReceiptTax>> GetEfrCustomerAccountDepositReceiptTaxes()
|
||||
{
|
||||
var request = new GetEfrCustomerAccountDepositReceiptTaxesRequest(this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptTax>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptTax>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetOperatorName()
|
||||
{
|
||||
var request = new GetEfrOperatorNameRequest(this.documentBuilderData.SalesOrder.StaffId);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace Contoso
|
|||
/// <returns>The receipt position lines.</returns>
|
||||
private async Task<ReceiptPositionLines> CreateReceiptPositionLines()
|
||||
{
|
||||
if (!(await this.CanСreateReceiptPosition()))
|
||||
if (!(await this.CanСreateReceiptPosition().ConfigureAwait(false)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -159,26 +159,26 @@ namespace Contoso
|
|||
}
|
||||
|
||||
return payment;
|
||||
}))
|
||||
})).ConfigureAwait(false)
|
||||
).ToList();
|
||||
}
|
||||
|
||||
private async Task<bool> CanСreateReceiptPosition()
|
||||
{
|
||||
var request = new GetEfrCanСreateReceiptPositionsRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetEfrNonFiscalTransactionType()
|
||||
{
|
||||
var request = new GetEfrNonFiscalTransactionTypeRequest(this.documentBuilderData.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetEfrTenderTypeName(string tenderTypeId)
|
||||
{
|
||||
var request = new GetEfrGetTenderTypeNameRequest(tenderTypeId);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ namespace Contoso
|
|||
/// <returns>The receipt position lines.</returns>
|
||||
private async Task<ReceiptPositionLines> CreateReceiptPositionLines()
|
||||
{
|
||||
if (!(await this.CanСreateReceiptPosition()))
|
||||
if (!(await this.CanСreateReceiptPosition().ConfigureAwait(false)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -137,19 +137,19 @@ namespace Contoso
|
|||
private async Task<List<ReceiptPayment>> CreateReceiptPaymentsAsync()
|
||||
{
|
||||
var request = new GetEfrIncomeExpenseAccountsReceiptPaymentsRequest(this.salesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<bool> CanСreateReceiptPosition()
|
||||
{
|
||||
var request = new GetEfrCanСreateReceiptPositionsRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetEfrNonFiscalTransactionType()
|
||||
{
|
||||
var request = new GetEfrNonFiscalTransactionTypeRequest(this.documentBuilderData.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ namespace Contoso
|
|||
/// <returns>The receipt position lines.</returns>
|
||||
private async Task<ReceiptPositionLines> CreateReceiptPositionLines()
|
||||
{
|
||||
if (!(await this.CanСreateReceiptPosition()))
|
||||
if (!(await this.CanСreateReceiptPosition().ConfigureAwait(false)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -137,19 +137,19 @@ namespace Contoso
|
|||
private async Task<List<ReceiptPayment>> CreateReceiptPaymentsAsync()
|
||||
{
|
||||
var request = new GetEfrIncomeExpenseAccountsReceiptPaymentsRequest(this.salesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<bool> CanСreateReceiptPosition()
|
||||
{
|
||||
var request = new GetEfrCanСreateReceiptPositionsRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetEfrNonFiscalTransactionType()
|
||||
{
|
||||
var request = new GetEfrNonFiscalTransactionTypeRequest(this.documentBuilderData.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ namespace Contoso
|
|||
private async Task<string> GetEfrTenderTypeName(string tenderTypeId)
|
||||
{
|
||||
var request = new GetEfrGetTenderTypeNameRequest(tenderTypeId);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -57,7 +57,7 @@ namespace Contoso
|
|||
private async Task<DataModelEFR.Documents.Receipt> PopulateEfrLocalizationInfo(DataModelEFR.Documents.Receipt receipt)
|
||||
{
|
||||
var request = new PopulateEfrLocalizationInfoRequest(receipt, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ namespace Contoso
|
|||
/// <returns>The receipt position lines.</returns>
|
||||
private async Task<ReceiptPositionLines> CreateReceiptPositionLines()
|
||||
{
|
||||
if (!(await this.CanСreateReceiptPosition()))
|
||||
if (!(await this.CanСreateReceiptPosition().ConfigureAwait(false)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -237,79 +237,79 @@ namespace Contoso
|
|||
private async Task<bool> GetEfrIsSalesTransactionDocumentGenerationRequired()
|
||||
{
|
||||
var request = new GetEfrIsSalesTransactionDocumentGenerationRequiredRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<decimal> GetTotalAmount()
|
||||
{
|
||||
var request = new GetEfrSalesTransactionTotalAmountRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetOperatorName()
|
||||
{
|
||||
var request = new GetEfrOperatorNameRequest(this.documentBuilderData.SalesOrder.StaffId);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetEfrNonFiscalTransactionType()
|
||||
{
|
||||
var request = new GetEfrNonFiscalTransactionTypeRequest(this.documentBuilderData.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<DataModelEFR.Documents.Receipt> PopulateEfrLocalizationInfo(DataModelEFR.Documents.Receipt receipt)
|
||||
{
|
||||
var request = new PopulateEfrLocalizationInfoRequest(receipt, this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<DataModelEFR.Documents.Receipt> PopulateEfrCustomerData(DataModelEFR.Documents.Receipt receipt)
|
||||
{
|
||||
var request = new PopulateEfrCustomerDataRequest(receipt, this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<DataModelEFR.Documents.Receipt>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<bool> CanСreateReceiptPosition()
|
||||
{
|
||||
var request = new GetEfrCanСreateReceiptPositionsRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<bool>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<List<ReceiptPayment>> CreateReceiptPaymentsAsync()
|
||||
{
|
||||
var request = new GetEfrReceiptPaymentsRequest(this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPayment>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<IEnumerable<SalesLine>> GetSalesLines()
|
||||
{
|
||||
var request = new GetEfrSalesLinesRequest(this.documentBuilderData.SalesOrder);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<string> GetSalesLineTaxGroups(SalesLine salesLine)
|
||||
{
|
||||
var request = new GetEfrSalesLineTaxGroupsRequest(salesLine, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<List<ReceiptPosition>> PopulateCountryRegionSpecificPositions(List<ReceiptPosition> receiptPositions)
|
||||
{
|
||||
var request = new PopulateCountryRegionSpecificPositionsRequest(receiptPositions, this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPosition>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptPosition>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<ReceiptPosition> PopulateReferenceFields(ReceiptPosition receiptPosition, SalesLine salesLine)
|
||||
{
|
||||
var request = new PopulateEfrReferenceFieldsRequest(receiptPosition, salesLine);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPosition>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPosition>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private async Task<List<ReceiptTax>> GetReceiptTaxes()
|
||||
{
|
||||
var request = new GetEfrReceiptTaxesRequest(this.documentBuilderData.SalesOrder, this.documentBuilderData.FiscalIntegrationFunctionalityProfile);
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptTax>>>(request)).Entity;
|
||||
return (await this.documentBuilderData.RequestContext.ExecuteAsync<SingleEntityDataServiceResponse<List<ReceiptTax>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -83,10 +83,10 @@ namespace Contoso
|
|||
return await GetSupportedRegistrableEventsAsync().ConfigureAwait(false);
|
||||
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest).ConfigureAwait(false);
|
||||
|
||||
case GetFiscalRegisterResponseToSaveDocumentProviderRequest getFiscalRegisterResponseToSaveDocumentProviderRequest:
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest).ConfigureAwait(false);
|
||||
|
||||
case GetFiscalTransactionExtendedDataDocumentProviderRequest getFiscalTransactionExtendedDataDocumentProviderRequest:
|
||||
return await Task.FromResult<Response>(GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest)).ConfigureAwait(false);
|
||||
|
@ -231,7 +231,8 @@ namespace Contoso
|
|||
|
||||
FiscalIntegrationDocument fiscalIntegrationDocument = document != null ?
|
||||
new FiscalIntegrationDocument(FiscalDocumentSerializer.Serialize(document), FiscalIntegrationDocumentGenerationResultType.Succeeded) :
|
||||
new FiscalIntegrationDocument(string.Empty, FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
new FiscalIntegrationDocument(document: string.Empty,
|
||||
resultType: FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
|
||||
return new GetFiscalDocumentDocumentProviderResponse(fiscalIntegrationDocument);
|
||||
}
|
||||
|
|
|
@ -85,10 +85,10 @@ namespace Contoso
|
|||
return await GetSupportedRegistrableEventsAsync().ConfigureAwait(false);
|
||||
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest).ConfigureAwait(false);
|
||||
|
||||
case GetFiscalRegisterResponseToSaveDocumentProviderRequest getFiscalRegisterResponseToSaveDocumentProviderRequest:
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest).ConfigureAwait(false);
|
||||
|
||||
case GetFiscalTransactionExtendedDataDocumentProviderRequest getFiscalTransactionExtendedDataDocumentProviderRequest:
|
||||
return await Task.FromResult<Response>(GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest)).ConfigureAwait(false);
|
||||
|
@ -174,7 +174,8 @@ namespace Contoso
|
|||
|
||||
FiscalIntegrationDocument fiscalIntegrationDocument = document != null ?
|
||||
new FiscalIntegrationDocument(FiscalDocumentSerializer.Serialize(document), FiscalIntegrationDocumentGenerationResultType.Succeeded) :
|
||||
new FiscalIntegrationDocument(string.Empty, FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
new FiscalIntegrationDocument(document: string.Empty,
|
||||
resultType: FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
|
||||
return new GetFiscalDocumentDocumentProviderResponse(fiscalIntegrationDocument);
|
||||
}
|
||||
|
|
|
@ -90,23 +90,23 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request to execute.</param>
|
||||
/// <returns>The response of the request from the request handler.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
switch (request)
|
||||
{
|
||||
case GetSupportedRegistrableEventsDocumentProviderRequest _:
|
||||
return await GetSupportedRegistrableEventsAsync().ConfigureAwait(false);
|
||||
return GetSupportedRegistrableEventsAsync();
|
||||
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
return GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
|
||||
case GetFiscalTransactionExtendedDataDocumentProviderRequest getFiscalTransactionExtendedDataDocumentProviderRequest:
|
||||
return await Task.FromResult<Response>(GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest)).ConfigureAwait(false);
|
||||
return Task.FromResult<Response>(GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest));
|
||||
|
||||
case GetFiscalRegisterResponseToSaveDocumentProviderRequest getFiscalRegisterResponseToSaveDocumentProviderRequest:
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
return GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
|
@ -247,7 +247,8 @@ namespace Contoso
|
|||
|
||||
FiscalIntegrationDocument fiscalIntegrationDocument = document != null ?
|
||||
new FiscalIntegrationDocument(FiscalDocumentSerializer.Serialize(document), FiscalIntegrationDocumentGenerationResultType.Succeeded) :
|
||||
new FiscalIntegrationDocument(string.Empty, FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
new FiscalIntegrationDocument(document: string.Empty,
|
||||
resultType: FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
|
||||
return new GetFiscalDocumentDocumentProviderResponse(fiscalIntegrationDocument);
|
||||
}
|
||||
|
|
|
@ -136,23 +136,23 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request to execute.</param>
|
||||
/// <returns>The response of the request from the request handler.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
switch (request)
|
||||
{
|
||||
case GetSupportedRegistrableEventsDocumentProviderRequest _:
|
||||
return await GetSupportedRegistrableEventsAsync().ConfigureAwait(false);
|
||||
return GetSupportedRegistrableEventsAsync();
|
||||
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return await GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
return GetFiscalDocumentResponseAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
|
||||
case GetFiscalRegisterResponseToSaveDocumentProviderRequest getFiscalRegisterResponseToSaveDocumentProviderRequest:
|
||||
return await GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
return GetFiscalRegisterResponseToSaveAsync(getFiscalRegisterResponseToSaveDocumentProviderRequest);
|
||||
|
||||
case GetNonFiscalDocumentDocumentProviderRequest getNonFiscalDocumentDocumentProvider:
|
||||
return await GetNonFiscalDocumentDocumentProvider(getNonFiscalDocumentDocumentProvider);
|
||||
return GetNonFiscalDocumentDocumentProvider(getNonFiscalDocumentDocumentProvider);
|
||||
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
|
@ -235,7 +235,8 @@ namespace Contoso
|
|||
|
||||
FiscalIntegrationDocument fiscalIntegrationDocument = document != null ?
|
||||
new FiscalIntegrationDocument(FiscalDocumentSerializer.Serialize(document), FiscalIntegrationDocumentGenerationResultType.Succeeded) :
|
||||
new FiscalIntegrationDocument(string.Empty, FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
new FiscalIntegrationDocument(document: string.Empty,
|
||||
resultType: FiscalIntegrationDocumentGenerationResultType.NotRequired);
|
||||
await FillDocumentAdjustmentAsync(request, fiscalIntegrationDocument).ConfigureAwait(false);
|
||||
|
||||
return new GetFiscalDocumentDocumentProviderResponse(fiscalIntegrationDocument);
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace Contoso
|
|||
/// <returns>The deposit position number.</returns>
|
||||
public static int GetDepositPositionNumber(IEnumerable<ReceiptPosition> positions)
|
||||
{
|
||||
if (positions.Count() == 0)
|
||||
if (!positions.Any())
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace Contoso
|
|||
XmlSerializer xmlSerializer = new XmlSerializer(document.GetType());
|
||||
|
||||
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
|
||||
ns.Add("", "");
|
||||
ns.Add(prefix: "", ns: "");
|
||||
|
||||
using (StringWriter stringWriter = new StringWriter())
|
||||
{
|
||||
|
|
|
@ -308,24 +308,24 @@ namespace Contoso
|
|||
private static async Task<IEnumerable<SalesLine>> GetSalesLines(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrSalesLinesRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<ReceiptPayment> PopulateEfrLocalizationInfoToPayment(RequestContext requestContext, ReceiptPayment receiptPayment)
|
||||
{
|
||||
var request = new PopulateEfrLocalizationInfoToPaymentRequest(receiptPayment);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<ReceiptPayment> GetDepositTenderLine(RequestContext requestContext, SalesOrder salesOrder, FiscalIntegrationFunctionalityProfile fiscalIntegrationFunctionalityProfile)
|
||||
{
|
||||
var request = new GetEfrDepositTenderLineRequest(salesOrder, fiscalIntegrationFunctionalityProfile);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -345,7 +345,7 @@ namespace Contoso
|
|||
private static async Task<string> GetEfrTenderTypeName(RequestContext requestContext, string tenderTypeId)
|
||||
{
|
||||
var request = new GetEfrGetTenderTypeNameRequest(tenderTypeId);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -372,30 +372,30 @@ namespace Contoso
|
|||
private static async Task<decimal> CalculateDepositSumForOrder(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrDepositOrderSumRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<IEnumerable<SalesLine>> GetSalesLines(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrSalesLinesRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<ReceiptPayment> PopulateEfrLocalizationInfoToPayment(RequestContext requestContext, ReceiptPayment receiptPayment)
|
||||
{
|
||||
var request = new PopulateEfrLocalizationInfoToPaymentRequest(receiptPayment);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<ReceiptPayment> GetDepositTenderLine(RequestContext requestContext, SalesOrder salesOrder, FiscalIntegrationFunctionalityProfile fiscalIntegrationFunctionalityProfile)
|
||||
{
|
||||
var request = new GetEfrDepositTenderLineRequest(salesOrder, fiscalIntegrationFunctionalityProfile);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<ReceiptPayment>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -468,7 +468,7 @@ namespace Contoso
|
|||
private static async Task<string> GetEfrTenderTypeName(RequestContext requestContext, string tenderTypeId)
|
||||
{
|
||||
var request = new GetEfrGetTenderTypeNameRequest(tenderTypeId);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -409,7 +409,7 @@ namespace Contoso
|
|||
private static async Task<decimal> CalculateDepositSumForOrder(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrDepositOrderSumRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -454,24 +454,24 @@ namespace Contoso
|
|||
private static async Task<string> GetSalesLineTaxGroups(RequestContext requestContext, SalesLine salesLine, FiscalIntegrationFunctionalityProfile fiscalIntegrationFunctionalityProfile)
|
||||
{
|
||||
var request = new GetEfrSalesLineTaxGroupsRequest(salesLine, fiscalIntegrationFunctionalityProfile);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<IEnumerable<SalesLine>> GetSalesLines(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrSalesLinesRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<IEnumerable<SalesLine>>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> GetEfrTenderTypeName(RequestContext requestContext, string tenderTypeId)
|
||||
{
|
||||
var request = new GetEfrGetTenderTypeNameRequest(tenderTypeId);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,18 +173,18 @@ namespace Contoso
|
|||
private static async Task<decimal> CalculateDepositSumForOrder(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrDepositOrderSumRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> GetSalesLineTaxGroups(RequestContext requestContext, SalesLine salesLine, FiscalIntegrationFunctionalityProfile fiscalIntegrationFunctionalityProfile)
|
||||
{
|
||||
var request = new GetEfrSalesLineTaxGroupsRequest(salesLine, fiscalIntegrationFunctionalityProfile);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static void PopulateEfrLocalizationInfoToPayment(PopulateEfrLocalizationInfoToPaymentRequest request, SingleEntityDataServiceResponse<ReceiptPayment> response)
|
||||
|
|
|
@ -286,18 +286,18 @@ namespace Contoso
|
|||
private static async Task<decimal> CalculateDepositSumForOrder(RequestContext requestContext, SalesOrder salesOrder)
|
||||
{
|
||||
var request = new GetEfrDepositOrderSumRequest(salesOrder);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<decimal>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> TranslateAsync(RequestContext requestContext, string cultureName, string textId)
|
||||
{
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId))).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(new LocalizeEfrResourceRequest(cultureName, textId)).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
|
||||
private static async Task<string> GetSalesLineTaxGroups(RequestContext requestContext, SalesLine salesLine, FiscalIntegrationFunctionalityProfile fiscalIntegrationFunctionalityProfile)
|
||||
{
|
||||
var request = new GetEfrSalesLineTaxGroupsRequest(salesLine, fiscalIntegrationFunctionalityProfile);
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request)).Entity;
|
||||
return (await requestContext.ExecuteAsync<SingleEntityDataServiceResponse<string>>(request).ConfigureAwait(false)).Entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,13 +35,11 @@ namespace Contoso
|
|||
/// <param name="endPointAddress">The service endpoint address.</param>
|
||||
/// <param name="token">The cancellation token.</param>
|
||||
/// <returns>The response from printer.</returns>
|
||||
public static async Task<string> RegisterAsync(string salesTransaction, string endPointAddress, CancellationToken token)
|
||||
public static Task<string> RegisterAsync(string salesTransaction, string endPointAddress, CancellationToken token)
|
||||
{
|
||||
string response = await RunPostRequestAsync(
|
||||
return RunPostRequestAsync(
|
||||
endPointAddress + "/" + RequestConstants.Register,
|
||||
salesTransaction, token)
|
||||
.ConfigureAwait(false);
|
||||
return response;
|
||||
salesTransaction, token);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -51,21 +51,16 @@ namespace Contoso
|
|||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
if (request is InitializeFiscalDeviceRequest)
|
||||
switch (request)
|
||||
{
|
||||
return this.Initialize(request as InitializeFiscalDeviceRequest);
|
||||
}
|
||||
else if (request is SubmitDocumentFiscalDeviceRequest)
|
||||
{
|
||||
return this.SubmitDocument(request as SubmitDocumentFiscalDeviceRequest);
|
||||
}
|
||||
else if (request is IsReadyFiscalDeviceRequest)
|
||||
{
|
||||
return this.IsReady(request as IsReadyFiscalDeviceRequest);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
case InitializeFiscalDeviceRequest initializeFiscalDeviceRequest:
|
||||
return Initialize(initializeFiscalDeviceRequest);
|
||||
case SubmitDocumentFiscalDeviceRequest submitDocumentFiscalDeviceRequest:
|
||||
return SubmitDocument(submitDocumentFiscalDeviceRequest);
|
||||
case IsReadyFiscalDeviceRequest isReadyFiscalDeviceRequest:
|
||||
return IsReady(isReadyFiscalDeviceRequest);
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,7 +75,7 @@ namespace Contoso
|
|||
|
||||
InitializeFiscalDeviceResponse response;
|
||||
|
||||
response = new InitializeFiscalDeviceResponse(string.Empty, FiscalPeripheralCommunicationResultType.None, new FiscalPeripheralFailureDetails(), string.Empty);
|
||||
response = new InitializeFiscalDeviceResponse(response: string.Empty, communicationResultType: FiscalPeripheralCommunicationResultType.None, failureDetails: new FiscalPeripheralFailureDetails(), fiscalPeripheralInfo: string.Empty);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
@ -126,7 +121,10 @@ namespace Contoso
|
|||
IsRetryAllowed = true,
|
||||
FailureType = FiscalPeripheralFailureType.Timeout
|
||||
};
|
||||
response = new SubmitDocumentFiscalDeviceResponse(string.Empty, FiscalPeripheralCommunicationResultType.Failed, failureDetails, string.Empty);
|
||||
response = new SubmitDocumentFiscalDeviceResponse(response: string.Empty,
|
||||
communicationResultType: FiscalPeripheralCommunicationResultType.Failed,
|
||||
failureDetails: failureDetails,
|
||||
fiscalPeripheralInfo: string.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +136,10 @@ namespace Contoso
|
|||
IsRetryAllowed = true,
|
||||
FailureType = FiscalPeripheralFailureType.NotAvailable
|
||||
};
|
||||
response = new SubmitDocumentFiscalDeviceResponse(string.Empty, FiscalPeripheralCommunicationResultType.Failed, failureDetails, string.Empty);
|
||||
response = new SubmitDocumentFiscalDeviceResponse(response: string.Empty,
|
||||
communicationResultType: FiscalPeripheralCommunicationResultType.Failed,
|
||||
failureDetails: failureDetails,
|
||||
fiscalPeripheralInfo: string.Empty);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ namespace Contoso
|
|||
}
|
||||
}
|
||||
|
||||
var response = new SubmitDocumentFiscalDeviceResponse(serviceResponse, resultType, failureDetails, string.Empty, userNotificationMessage);
|
||||
var response = new SubmitDocumentFiscalDeviceResponse(response: serviceResponse, communicationResultType: resultType, failureDetails: failureDetails, fiscalPeripheralInfo: string.Empty, userNotificationMessage: userNotificationMessage);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -51,8 +51,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EpsonFP90IIIFiscalDeviceSample\Connector.EpsonFP90IIISample.csproj">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -51,8 +51,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\CommerceRuntime\DocumentProvider.EpsonFP90IIISample\DocumentProvider.EpsonFP90IIISample.csproj">
|
||||
|
|
|
@ -10,11 +10,21 @@
|
|||
/// </remark>
|
||||
internal static class ConfigurationElementConstants
|
||||
{
|
||||
/// <summary>
|
||||
/// The inner text of Name element for DepositPaymentType property.
|
||||
/// </summary>
|
||||
internal const string DepositPaymentType = "DepositPaymentType";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Namespace element for FiscalServiceDataMappingInfo.
|
||||
/// </summary>
|
||||
internal const string FiscalPrinterDataMappingInfo = "FiscalServiceDataMappingInfo";
|
||||
|
||||
/// <summary>
|
||||
/// The IntegerValue element.
|
||||
/// </summary>
|
||||
internal const string IntegerValueElement = "IntegerValue";
|
||||
|
||||
/// <summary>
|
||||
/// The Name element.
|
||||
/// </summary>
|
||||
|
@ -40,11 +50,6 @@
|
|||
/// </summary>
|
||||
internal const string StringValueElement = "StringValue";
|
||||
|
||||
/// <summary>
|
||||
/// The IntegerValue element.
|
||||
/// </summary>
|
||||
internal const string IntegerValueElement = "IntegerValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for TenderTypeMapping property.
|
||||
/// </summary>
|
||||
|
@ -54,11 +59,6 @@
|
|||
/// The inner text of Name element for VATRatesMapping property.
|
||||
/// </summary>
|
||||
internal const string VATRatesMapping = "VATRatesMapping";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for DepositPaymentType property.
|
||||
/// </summary>
|
||||
internal const string DepositPaymentType = "DepositPaymentType";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
/// Builds fiscal document for X/Z report.
|
||||
/// </summary>
|
||||
/// <returns>The <see cref="PosnetFiscalDocumentBuildResult"/> instance.</returns>
|
||||
public async Task<PosnetFiscalDocumentBuildResult> BuildAsync()
|
||||
public Task<PosnetFiscalDocumentBuildResult> BuildAsync()
|
||||
{
|
||||
IEnumerable<IPosnetCommandRequest> commands = null;
|
||||
FiscalIntegrationEventType eventType = Request.FiscalDocumentRetrievalCriteria.FiscalRegistrationEventType;
|
||||
|
@ -48,7 +48,7 @@
|
|||
throw new Exception($"Event type {eventType} is not supported.");
|
||||
}
|
||||
|
||||
return await Task.FromResult(new PosnetFiscalDocumentBuildResult
|
||||
return Task.FromResult(new PosnetFiscalDocumentBuildResult
|
||||
{
|
||||
Document = new PosnetDocumentRequest(commands),
|
||||
DocumentAdjustment = new FiscalIntegrationDocumentAdjustment(),
|
||||
|
|
|
@ -12,6 +12,6 @@
|
|||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.DataModel.Poland" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.Localization.Data.Services.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -80,20 +80,20 @@ namespace Contoso
|
|||
/// </summary>
|
||||
/// <param name="request">The request to execute.</param>
|
||||
/// <returns>The response of the request from the handler.</returns>
|
||||
public async Task<Response> Execute(Request request)
|
||||
public Task<Response> Execute(Request request)
|
||||
{
|
||||
ThrowIf.Null(request, nameof(request));
|
||||
|
||||
switch (request)
|
||||
{
|
||||
case GetFiscalDocumentDocumentProviderRequest getFiscalDocumentDocumentProviderRequest:
|
||||
return await this.GetFiscalDocumentAsync(getFiscalDocumentDocumentProviderRequest).ConfigureAwait(false);
|
||||
return this.GetFiscalDocumentAsync(getFiscalDocumentDocumentProviderRequest);
|
||||
|
||||
case GetSupportedRegistrableEventsDocumentProviderRequest getSupportedRegistrableEventsDocumentProviderRequest:
|
||||
return await Task.FromResult(this.GetSupportedRegisterableEvents(getSupportedRegistrableEventsDocumentProviderRequest));
|
||||
return Task.FromResult(this.GetSupportedRegisterableEvents(getSupportedRegistrableEventsDocumentProviderRequest));
|
||||
|
||||
case GetFiscalTransactionExtendedDataDocumentProviderRequest getFiscalTransactionExtendedDataDocumentProviderRequest:
|
||||
return await Task.FromResult(this.GetFiscalTransactionExtendedData((GetFiscalTransactionExtendedDataDocumentProviderRequest)request));
|
||||
return Task.FromResult<Response>(this.GetFiscalTransactionExtendedData(getFiscalTransactionExtendedDataDocumentProviderRequest));
|
||||
|
||||
default:
|
||||
throw new NotSupportedException(string.Format("Request '{0}' is not supported.", request.GetType()));
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
BindingFlags.Instance);
|
||||
foreach (var prop in props)
|
||||
{
|
||||
var attributes = Attribute.GetCustomAttributes(prop, true);
|
||||
var attributes = Attribute.GetCustomAttributes(prop, inherit: true);
|
||||
|
||||
CommandParameterAttribute commandParmAttr = attributes.FirstOrDefault(x => x is CommandParameterAttribute) as CommandParameterAttribute;
|
||||
CommandParametersResultAttribute resultParmAttr = attributes.FirstOrDefault(x => x is CommandParametersResultAttribute) as CommandParametersResultAttribute;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ThermalDeviceSample\HardwareStation.PosnetThermalFVFiscalPrinterSample.csproj">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -51,8 +51,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -113,7 +113,7 @@ namespace Contoso
|
|||
string storeLocation = ConfigurationController.GetCertificateStoreLocation(serviceProperties);
|
||||
X509Certificate2 certificate = null;
|
||||
FiscalIntegrationServiceFailureDetails failureDetails = null;
|
||||
var request = new GetUserDefinedSecretCertificateServiceRequest(string.Empty, string.Empty, thumbprint, storeName, storeLocation, null);
|
||||
var request = new GetUserDefinedSecretCertificateServiceRequest(profileId: string.Empty, secretName: string.Empty, thumbprint: thumbprint, storeName: storeName, storeLocation: storeLocation, expirationInterval: null);
|
||||
|
||||
try
|
||||
{
|
||||
|
|
|
@ -22,14 +22,14 @@ namespace Contoso
|
|||
internal const string BooleanValueElement = "BooleanValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for SecretName property.
|
||||
/// The inner text of Name element for CertificateStoreLocation property.
|
||||
/// </summary>
|
||||
internal const string SecretName = "SecretName";
|
||||
internal const string CertificateStoreLocation = "CertificateStoreLocation";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for LocalCertificateThumbprint property.
|
||||
/// The inner text of Name element for CertificateStoreName property.
|
||||
/// </summary>
|
||||
internal const string LocalCertificateThumbprint = "LocalCertificateThumbprint";
|
||||
internal const string CertificateStoreName = "CertificateStoreName";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Namespace element for ConnectorSettingsInfo.
|
||||
|
@ -41,26 +41,16 @@ namespace Contoso
|
|||
/// </summary>
|
||||
internal const string HashAlgorithmName = "HashAlgorithmName";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for CertificateStoreName property.
|
||||
/// </summary>
|
||||
internal const string CertificateStoreName = "CertificateStoreName";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for CertificateStoreLocation property.
|
||||
/// </summary>
|
||||
internal const string CertificateStoreLocation = "CertificateStoreLocation";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for TryLocalCertificateFirst property.
|
||||
/// </summary>
|
||||
internal const string TryLocalCertificateFirst = "TryLocalCertificateFirst";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for IsReadyRequired property.
|
||||
/// </summary>
|
||||
internal const string IsReadyRequired = "IsReadyRequired";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for LocalCertificateThumbprint property.
|
||||
/// </summary>
|
||||
internal const string LocalCertificateThumbprint = "LocalCertificateThumbprint";
|
||||
|
||||
/// <summary>
|
||||
/// The name of the Name element.
|
||||
/// </summary>
|
||||
|
@ -76,10 +66,20 @@ namespace Contoso
|
|||
/// </summary>
|
||||
internal const string PropertyElement = "ConfigurationProperty";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for SecretName property.
|
||||
/// </summary>
|
||||
internal const string SecretName = "SecretName";
|
||||
|
||||
/// <summary>
|
||||
/// The StringValue element.
|
||||
/// </summary>
|
||||
internal const string StringValueElement = "StringValue";
|
||||
|
||||
/// <summary>
|
||||
/// The inner text of Name element for TryLocalCertificateFirst property.
|
||||
/// </summary>
|
||||
internal const string TryLocalCertificateFirst = "TryLocalCertificateFirst";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -13,6 +13,6 @@
|
|||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.Localization.Entities" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.Localization.Services.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -16,11 +16,6 @@ namespace Contoso
|
|||
/// </summary>
|
||||
internal static class ErrorCodeConstants
|
||||
{
|
||||
/// <summary>
|
||||
/// The error code for the signing error.
|
||||
/// </summary>
|
||||
internal const string SigningError = "001";
|
||||
|
||||
/// <summary>
|
||||
/// The error code for the key vault certificate retrieval error.
|
||||
/// </summary>
|
||||
|
@ -30,6 +25,11 @@ namespace Contoso
|
|||
/// The error code for the local certificate retrieval error.
|
||||
/// </summary>
|
||||
internal const string LocalCertificateRetrievalError = "003";
|
||||
|
||||
/// <summary>
|
||||
/// The error code for the signing error.
|
||||
/// </summary>
|
||||
internal const string SigningError = "001";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,6 @@
|
|||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.Localization.Entities" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages" Version="$(CommerceChannelPackagesVersion)" />
|
||||
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Runtime" Version="$(CommerceSdkPackagesVersion)" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\$(WMSJSProjectDirectory)\Microsoft.VisualStudio.$(WMSJSProject).props" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" />
|
||||
<Import Project="..\..\CustomizationPackage.props" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
|
@ -52,8 +52,8 @@
|
|||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.props'))" />
|
||||
<Error Condition="!Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.39.22250.4-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
<Import Project="..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets" Condition="Exists('..\..\..\..\Dependencies\Microsoft.Dynamics.Commerce.Sdk.Pos.9.40.22250.5-preview\build\Microsoft.Dynamics.Commerce.Sdk.Pos.targets')" />
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.39.22250.4-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
<package id="Microsoft.Dynamics.Commerce.Sdk.Pos" version="9.40.22250.5-preview" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||
</packages>
|
|
@ -1,4 +1,4 @@
|
|||
@msdyn365-commerce-theme:registry=https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/
|
||||
@msdyn365-commerce-theme:registry=https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/
|
||||
@msdyn365-commerce-modules:registry=https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/
|
||||
@msdyn365-commerce:registry=https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/
|
||||
registry=https://registry.npmjs.org/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
registry "https://registry.npmjs.org/"
|
||||
registry "https://registry.npmjs.org/"
|
||||
"@msdyn365-commerce-modules:registry" "https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/"
|
||||
"@msdyn365-commerce-theme:registry" "https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/"
|
||||
"@msdyn365-commerce:registry" "https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/npm/registry/"
|
||||
|
|
59
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/.gitattributes
поставляемый
Normal file
|
@ -0,0 +1,59 @@
|
|||
# Uncomment each section to enable it.
|
||||
# See the following link for more details
|
||||
# https://git-scm.com/docs/gitattributes
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
# This ensures that all files that git considers to be text will have normalized (LF) line endings in the repository.
|
||||
# The core.eol configuration variable controls which line endings git will use for normalized files in your working directory;
|
||||
# the default is to use the native line ending for your platform, or CRLF if core.autocrlf is set.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Denote files that will always have CRLF line endings
|
||||
# While git normally leaves file contents alone, it can be configured to normalize line endings when files are checked out.
|
||||
###############################################################################
|
||||
|
||||
## Basic file types
|
||||
# *.xml text eol=crlf
|
||||
# *.txt text eol=crlf
|
||||
|
||||
## Visual Studio file types
|
||||
# *.sln text eol=crlf
|
||||
# *.csproj text eol=crlf
|
||||
# *.vbproj text eol=crlf
|
||||
# *.fsproj text eol=crlf
|
||||
# *.dbproj text eol=crlf
|
||||
# *.vcxproj text eol=crlf
|
||||
# *.vcxitems text eol=crlf
|
||||
# *.props text eol=crlf
|
||||
# *.filters text eol=crlf
|
||||
# *.h text eol=crlf
|
||||
# *.c text eol=crlf
|
||||
# *.cpp text eol=crlf
|
||||
# *.cs text eol=crlf
|
||||
# *.vb text eol=crlf
|
||||
|
||||
## PowerShell file types
|
||||
# *.ps1 text eol=crlf
|
||||
# *.psm1 text eol=crlf
|
||||
# *.psd1 text eol=crlf
|
||||
# *.psc1 text eol=crlf
|
||||
# *.ps1xml text eol=crlf
|
||||
# *.clixml text eol=crlf
|
||||
|
||||
## Denote all files that are truly binary and should not be modified.
|
||||
# *.png binary
|
||||
# *.jpg binary
|
||||
# *.dll binary
|
||||
# *.exe binary
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
# It can tell git whether to generate a textual patch for the path or to treat the path as a binary file. It can also affect what line is shown on the hunk
|
||||
# header @@ -k,l +n,m @@ line, tell git to use an external command to generate the diff, or ask git to convert binary files to a text format before generating the diff.
|
||||
# Note: This is only used by command line
|
||||
##############################################################################
|
||||
|
||||
# *.cs diff=csharp
|
|
@ -276,6 +276,7 @@ lib/
|
|||
!starter-pack/**/dist
|
||||
!sdk/**/lib
|
||||
!starter-pack/**/lib
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"tabWidth": 4,
|
||||
"singleQuote": true,
|
||||
"printWidth": 140,
|
||||
"jsxSingleQuote": true,
|
||||
"bracketSpacing": true
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
$mkdirFile = "$($env:LOCALAPPDATA)\rm-mkdir.exe";
|
||||
$mkdirsource = "https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-windows-amd64.exe";
|
||||
|
||||
if (-Not (Test-Path $mkdirFile)) {
|
||||
Write-Output "Downloading required dependencies..."
|
||||
(New-Object System.Net.WebClient).DownloadFile($mkdirsource, $mkdirFile)
|
||||
}
|
||||
|
||||
Write-Output "Starting Cert installation";
|
||||
|
||||
& "$($mkdirFile)" "-install"
|
||||
|
||||
$CAPath = & "$($mkdirFile)" "-CAROOT"
|
||||
& "certutil" "-addstore Root $($CAPath)\rootCA.pem".split(' ')
|
||||
|
||||
& "$($mkdirFile)" "-cert-file cert.pem -key-file key.pem localhost 127.0.0.1 ::1 fe80::1".split(' ')
|
50
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/.vscode/settings.json
поставляемый
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.svn": true,
|
||||
"**/.hg": true,
|
||||
"**/CVS": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/node_modules": true
|
||||
},
|
||||
"typescript.tsdk": "./node_modules/typescript/lib",
|
||||
"json.schemas": [
|
||||
{
|
||||
"fileMatch": ["/*.definition.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/definition-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/*.definition.ext.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/definition-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/settings/app.settings.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/app-settings-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/settings/theme.settings.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/theme-settings-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/pageMocks/*.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/page-mock-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/modules/*/mocks/*.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/module-mock-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/previews/**/*.preview.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/module-mock-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/styles/*.definition.scss.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/style-presets-schema.json"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["/**/connectors/*/*.connector.json"],
|
||||
"url": "./node_modules/@msdyn365-commerce/cli-internal/dist/connector-schema.json"
|
||||
}
|
||||
],
|
||||
"debug.node.autoAttach": "on"
|
||||
}
|
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/HQ/CustomerBillingAddress200622.axpp
Normal file
|
@ -0,0 +1,105 @@
|
|||
**MICROSOFT SOFTWARE LICENSE TERMS**
|
||||
|
||||
**MICROSOFT DYNAMICS 365 FOR COMMERCE SOFTWARE DEVELOPMENT KIT (SDK)**
|
||||
======================================================================
|
||||
|
||||
These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsoft’s rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS.
|
||||
|
||||
**1. INSTALLATION AND USE RIGHTS**
|
||||
==================================
|
||||
a) General. You may install and use any number of copies of the software to develop and test your applications.
|
||||
b) Package Managers. The software includes package managers that give you the option to download other Microsoft and third party software packages to use with your application. Those packages are under their own licenses, and not this agreement. Microsoft does not distribute, license, or provide any warranties for any of the third party packages.
|
||||
|
||||
**2. DISTRIBUTABLE CODE**
|
||||
=========================
|
||||
The software may contain code you are permitted to distribute (i.e. make available for third parties) in applications you develop that work with Dynamics 365 for Commerce, as described in this Section.
|
||||
a) Distribution Rights. The sample source code files described below are distributable if included with the software.
|
||||
i. Distributables. You may copy, modify, and distribute the sample source code listed in the distributables file list in the software; and
|
||||
ii. Third Party Distribution. You may permit distributors of your applications to copy and distribute any of this distributable code you elect to distribute with your applications.
|
||||
b) Distribution Requirements. For any code you distribute, you must:
|
||||
i. add significant primary functionality to it in your applications;
|
||||
ii. require distributors and external end users to agree to terms that protect it and Microsoft at least as much as this agreement; and
|
||||
iii. indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified distributable code.
|
||||
c) Distribution Restrictions. You may not:
|
||||
i. use Microsoft’s trademarks or trade dress in your application in any way that suggests your application comes from or is endorsed by Microsoft; or
|
||||
ii. modify or distribute the source code of any distributable code so that any part of it becomes subject to any license that requires that the distributable code, any other part of the software, or any of Microsoft’s other intellectual property be disclosed or distributed in source code form, or that others have the right to modify it.
|
||||
|
||||
**3. SCOPE OF LICENSE**
|
||||
=======================
|
||||
The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to):
|
||||
a) work around any technical limitations in the software that only allow you to use it in certain ways;
|
||||
b) reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software;
|
||||
c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;
|
||||
d) use the software in any way that is against the law or to create or propagate malware; or
|
||||
e) share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
|
||||
|
||||
**4. DATA**
|
||||
===========
|
||||
a) Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the product documentation. There are also some features in the software that may enable you to collect data from users of your applications. If you use these features to enable data collection in your applications, you must comply with applicable law, including providing appropriate notices to users of your applications. You can learn more about data collection and use in the help documentation and the privacy statement at https://aka.ms/privacy. Your use of the software operates as your consent to these practices.
|
||||
b) Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr.
|
||||
|
||||
**5. EXPORT RESTRICTIONS**
|
||||
==========================
|
||||
You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting.
|
||||
|
||||
**6. SUPPORT SERVICES**
|
||||
=======================
|
||||
Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind.
|
||||
|
||||
**7. UPDATES**
|
||||
==============
|
||||
The software may periodically check for updates, and download and install them for you. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your system to provide you with updates. You agree to receive these automatic updates without any additional notice. Updates may not include or support all existing software features, services, or peripheral devices.
|
||||
|
||||
**8. TERMINATION**
|
||||
==================
|
||||
Without prejudice to any other rights, Microsoft may terminate this agreement if you fail to comply with any of its terms or conditions. In such event, you must destroy all copies of the software and all of its component parts.
|
||||
|
||||
**9. ENTIRE AGREEMENT**
|
||||
=======================
|
||||
This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software.
|
||||
|
||||
**10. APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES**
|
||||
====================================================
|
||||
If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles. If you acquired the software in any other country, its laws apply. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court. If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court.
|
||||
|
||||
**11. CONSUMER RIGHTS; REGIONAL VARIATIONS**
|
||||
============================================
|
||||
This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you:
|
||||
a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
|
||||
b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software.
|
||||
c) Germany and Austria.
|
||||
i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software.
|
||||
ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law.
|
||||
Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence.
|
||||
|
||||
**12. DISCLAIMER OF WARRANTY**
|
||||
==============================
|
||||
THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
||||
|
||||
**13. LIMITATION ON AND EXCLUSION OF DAMAGES**
|
||||
==============================================
|
||||
IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES.
|
||||
This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law.
|
||||
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages.
|
||||
|
||||
Please note: As this software is distributed in Canada, some of the clauses in this agreement are provided below in French.
|
||||
Remarque: Ce logiciel étant distribué au Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.
|
||||
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.
|
||||
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
|
||||
Cette limitation concerne:
|
||||
• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers; et
|
||||
• les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.
|
||||
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.
|
||||
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
|
||||
|
||||
|
||||
|
||||
|
||||
DWT 28909173v1 0085000-001126
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DWT 28909173v1 0085000-001126
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.2 BLOCK -->
|
||||
|
||||
## Security
|
||||
|
||||
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [many more](https://opensource.microsoft.com/).
|
||||
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [definition](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below.
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||
|
||||
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
|
||||
|
||||
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
|
||||
|
||||
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
|
||||
|
||||
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
|
||||
|
||||
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
|
||||
* Full paths of source file(s) related to the manifestation of the issue
|
||||
* The location of the affected source code (tag/branch/commit or direct URL)
|
||||
* Any special configuration required to reproduce the issue
|
||||
* Step-by-step instructions to reproduce the issue
|
||||
* Proof-of-concept or exploit code (if possible)
|
||||
* Impact of the issue, including how an attacker might exploit the issue
|
||||
|
||||
This information will help us triage your report more quickly.
|
||||
|
||||
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
|
||||
|
||||
## Preferred Languages
|
||||
|
||||
We prefer all communications to be in English.
|
||||
|
||||
## Policy
|
||||
|
||||
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
|
||||
|
||||
<!-- END MICROSOFT SECURITY.MD BLOCK -->
|
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image1.PNG
Normal file
После Ширина: | Высота: | Размер: 59 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image10.PNG
Normal file
После Ширина: | Высота: | Размер: 114 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image2.PNG
Normal file
После Ширина: | Высота: | Размер: 32 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image3.PNG
Normal file
После Ширина: | Высота: | Размер: 56 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image4.PNG
Normal file
После Ширина: | Высота: | Размер: 33 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image5.PNG
Normal file
После Ширина: | Высота: | Размер: 86 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image6.PNG
Normal file
После Ширина: | Высота: | Размер: 48 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image8.png
Normal file
После Ширина: | Высота: | Размер: 52 KiB |
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/docs/image9.PNG
Normal file
После Ширина: | Высота: | Размер: 18 KiB |
|
@ -0,0 +1,93 @@
|
|||
**MICROSOFT SOFTWARE LICENSE TERMS**
|
||||
|
||||
**MICROSOFT DYNAMICS 365 COMMERCE MODULE LIBRARY**
|
||||
==================================================
|
||||
|
||||
These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsoft’s rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS.
|
||||
|
||||
**1. INSTALLATION AND USE RIGHTS.**
|
||||
===================================
|
||||
a) Internal Use. You may (i) install and use any number of copies of the software to develop and test your customization packages you create for use with your websites; and (ii) modify your copies of the software, but you may not modify the software provided by Microsoft. The websites you create with the software are for your internal use only and may be accessible and used solely by your employees and consultants.
|
||||
b) Test Transactions. You may perform test transactions through the websites you create with the software solely using testable credit card primary account numbers to simulate the transactions, but do not result in processing an actual transaction.
|
||||
c) Microsoft Dynamics 365 Commerce. Use of the software requires a valid Dynamics 365 Commerce subscription. Your access to Dynamics 365 Commerce through the software must comply with the existing terms for the service that apply to you through your subscription license. You may lose access to the Dynamics 365 Commerce online service (i) if your Dynamics 365 Commerce subscription license expires or is terminated, or (ii) your license to this software is terminated.
|
||||
d) Compliance Obligations. Any websites you develop with the software that interoperate with an instance of the Dynamics 365 Commerce online service must comply with the obligations of any third party materials that you incorporated into such websites, including but not limited to the inclusion of a Notices file. You are solely responsible for all compliance with respect to any third party materials included in your websites.
|
||||
|
||||
**2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.**
|
||||
============================================================
|
||||
a) Extensible Code. The software may include sample code, modules, templates, styles, or text files (available in the SRC folder in the GitHub repository for the software) that you, or your consultants, are permitted to modify (“Modifiable Code”). You may copy, modify, and incorporate copies of the modified version of the Modifiable Code only in the customization package that you develop for your websites and for use only for your internal business purposes. Microsoft is not responsible for any problems that result from modifications made to the Modifiable Code. Microsoft will not provide technical or other support for any modifications made to the Modifiable Code.
|
||||
b) Third Party Images and Videos. The software may include third party images and videos that are for personal use only and may not be copied except as provided by Microsoft within the demo websites. You may install and use an unlimited number of copies of the demo websites. You may not publish, rent, lease, lend, or redistribute any images or videos without authorization from the rights holder, except and only to the extent that the applicable copyright law expressly permits doing so.
|
||||
c) Third Party Social Site Providers. To enable social sharing, you may be required to accept terms provided by the social site providers. Any such terms are between you and the social site providers, and Microsoft is not a party to such terms. By enabling the social sharing feature, your users and others may share data with third parties.
|
||||
|
||||
**3. PACKAGE MANAGERS**
|
||||
========================
|
||||
The software includes package managers that give you the option to download other Microsoft and third party software packages to use with your customization packages. Those packages obtained through a package manager are under their own licenses, and not this agreement. Microsoft does not distribute, license, or provide any warranties for any of the third party packages.
|
||||
|
||||
**4. THIRD PARTY SOFTWARE**
|
||||
===========================
|
||||
The software may include third party applications that are licensed to you under this agreement or under their own terms. License terms, notices, and acknowledgements, if any, for the third party applications may be accessible online at http://aka.ms/thirdpartynotices or in an accompanying notices file. Even if such applications are governed by other agreements, the disclaimer, limitations on, and exclusions of damages below also apply to the extent allowed by applicable law.
|
||||
|
||||
**5. SCOPE OF LICENSE**
|
||||
========================
|
||||
The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to):
|
||||
a) work around any technical limitations in the software that only allow you to use it in certain ways;
|
||||
b) reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software;
|
||||
c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;
|
||||
d) use the software in any way that is against the law or to create or propagate malware; or
|
||||
e) share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
|
||||
|
||||
**6. DATA**
|
||||
===========
|
||||
This software may interact with other Microsoft products that collect data that is transmitted to Microsoft. To learn more about how Microsoft processes personal data we collect, please see the Privacy Statement at https://go.microsoft.com/fwlink/?LinkId=248681.
|
||||
|
||||
**7. EXPORT RESTRICTIONS**
|
||||
==========================
|
||||
You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting.
|
||||
|
||||
**8. SUPPORT SERVICES**
|
||||
========================
|
||||
Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind.
|
||||
|
||||
**9. UPDATES**
|
||||
===============
|
||||
The software may periodically check for updates, and download and install them for you. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your system to provide you with updates. You agree to receive these automatic updates without any additional notice. Updates may not include or support all existing software features, services, or peripheral devices.
|
||||
|
||||
**10. ENTIRE AGREEMENT**
|
||||
========================
|
||||
This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software.
|
||||
|
||||
**11. APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES**
|
||||
====================================================
|
||||
If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles. If you acquired the software in any other country, its laws apply. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court. If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court.
|
||||
|
||||
**12. CONSUMER RIGHTS; REGIONAL VARIATIONS**
|
||||
============================================
|
||||
This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you:
|
||||
a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
|
||||
b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software.
|
||||
c) Germany and Austria.
|
||||
i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software.
|
||||
ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law.
|
||||
Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence.
|
||||
|
||||
**13. DISCLAIMER OF WARRANTY**
|
||||
==============================
|
||||
THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
||||
|
||||
**14. LIMITATION ON AND EXCLUSION OF DAMAGES**
|
||||
==============================================
|
||||
IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES.
|
||||
This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law.
|
||||
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages.
|
||||
|
||||
Please note: As this software is distributed in Canada, some of the clauses in this agreement are provided below in French.
|
||||
Remarque: Ce logiciel étant distribué au Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.
|
||||
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.
|
||||
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
|
||||
Cette limitation concerne:
|
||||
• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers; et
|
||||
• les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.
|
||||
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.
|
||||
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"name": "Msdyn365.Commerce.ExtensibilitySamples-BillingAddressCustomization",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"analyze": "SET ANALYZE_BUNDLE=true && yarn msdyn365b start --use-eslint",
|
||||
"analyze:prod": "SET ANALYZE_BUNDLE=true && yarn msdyn365b build --use-eslint",
|
||||
"build": "SET NODE_OPTIONS=--max_old_space_size=4096 && yarn msdyn365b build --use-eslint",
|
||||
"build:prod": "yarn clean && SET NODE_OPTIONS=--max_old_space_size=4096 && yarn msdyn365b build --use-eslint",
|
||||
"clean": "yarn rimraf build lib dist .tmp gendef.lock",
|
||||
"format": "yarn prettier **/**.{ts,tsx}",
|
||||
"format:fix": "yarn prettier **/**.{ts,tsx} --write",
|
||||
"lint": "yarn eslint src/**/*.{ts,tsx}",
|
||||
"lint:fix": "yarn eslint src/**/*.{ts,tsx} --fix",
|
||||
"precommit": "lint-staged",
|
||||
"start": "SET NODE_OPTIONS=--max_old_space_size=4096 && yarn msdyn365b start local --use-eslint",
|
||||
"start:prod": "SET NODE_ENV=production && node build/server.js"
|
||||
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.(j|t)s(x)?": [
|
||||
"yarn format:fix",
|
||||
"yarn lint:fix",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"jest": {
|
||||
"preset": "@msdyn365-commerce/cli-internal"
|
||||
}
|
||||
}
|
Двоичные данные
src/OnlineSDK/Extensibility Samples/BillingAddressCustomization/public/favicon.ico
Normal file
После Ширина: | Высота: | Размер: 32 KiB |
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
|