v6 Migration guide
This article describes breaking changes in .NET Library introduced in version 6.
To migrate to version 6:
- replace all usings such as
NineDigit.eKasa.Core.*,NineDigit.eKasa.Core.Datawith single namespaceNineDigit.eKasa. - class
NineDigit.eKasa.Core.Printing.Models.Tokenhas been renamed toNineDigit.eKasa.PrintToken. - class
NineDigit.eKasa.Helpers.EKasaPathHelperhas been renamed toNineDigit.eKasa.EKasaPath. - replace
CertificateHelper.CreatebyCertificate.FromXmlmethod. - replace
IdentityHelper.CreatebyIdentity.FromXmlmethod.
Name and Namespace changes
All namespaces are unified to NineDigit.eKasa, so it is no longer required to use multiple using statements.
List of all renamed classes or changed namespaces can be found in table below:
| Original name/namespace (v5) | New name/namespace (v6) |
|---|---|
Microsoft.EntityFrameworkCore.ForeignKeyConstraintException |
NineDigit.eKasa.ForeignKeyConstraintException |
Microsoft.EntityFrameworkCore.UniqueConstraintException |
NineDigit.eKasa.UniqueConstraintException |
NineDigit.eKasa.Core.Constants.PPEKK* |
NineDigit.eKasa.Constants.PPEKK.* |
NineDigit.eKasa.Core.Data.* |
NineDigit.eKasa |
NineDigit.eKasa.Core.Data.Helpers.TimeZoneHelper |
NineDigit.eKasa.TimeZoneHelper |
NineDigit.eKasa.Core.Data.ORPCodeEqualityComparer |
NineDigit.eKasa.ORPCode.EqualityComparer |
NineDigit.eKasa.Core.Data.Queries.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Data.Records.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Data.Validation.* |
NineDigit.eKasa.Validation.* |
NineDigit.eKasa.Core.Exceptions.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Extensions.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Helpers.DecimalHelper |
NineDigit.eKasa.DecimalExtensions |
NineDigit.eKasa.Core.Helpers.IAsyncLock |
NineDigit.eKasa.Threading.IAsyncLock |
NineDigit.eKasa.Core.Helpers.SecureStringHelper |
NineDigit.eKasa.SecureStringHelper |
NineDigit.eKasa.Core.Helpers.SecureStringHelper.Create(string) |
NineDigit.eKasa.SecureStringHelper.FromString(string) |
NineDigit.eKasa.Core.Helpers.SecureStringHelper.Decrypt(SecureString) |
NineDigit.eKasa.SecureStringHelper.ToString(SecureString) |
NineDigit.eKasa.Core.Helpers.ValidationHelper |
NineDigit.eKasa.Validation.ValidationHelper |
NineDigit.eKasa.Core.Helpers.WaitHandleHelper |
NineDigit.eKasa.Threading.WaitHandleHelper |
NineDigit.eKasa.Core.Printing.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Printing.Models.Token |
NineDigit.eKasa.PrintToken |
NineDigit.eKasa.Core.Printing.PrinterNameEqualityComparer |
NineDigit.eKasa.Printing.PrinterName.EqualityComparer |
NineDigit.eKasa.Core.Resources.ValidationMessages |
NineDigit.eKasa.Resources.ValidationMessages |
NineDigit.eKasa.Core.Services.* |
NineDigit.eKasa.* |
NineDigit.eKasa.Core.Services.IStorageEnumerator |
NineDigit.eKasa.Storage.IStorageEnumerator |
NineDigit.eKasa.Core.Validation.* |
NineDigit.eKasa.Validation.* |
NineDigit.eKasa.Core.Validation.Extensions.IValidatorExtensions |
NineDigit.eKasa.Validation.IValidatorExtensions |
NineDigit.eKasa.Core.Validation.Helpers.Validator |
NineDigit.eKasa.Validation.Validator |
NineDigit.eKasa.Factories.CertificateHelper.Create(Stream, SecureString) |
NineDigit.eKasa.Certificate.FromXml(Stream, SecureString) |
NineDigit.eKasa.Factories.CertificateHelper.Create(string, SecureString) |
NineDigit.eKasa.Certificate.FromXml(string, SecureString) |
NineDigit.eKasa.Factories.IdentityHelper.Create(Stream, bool) |
NineDigit.eKasa.Identity.FromXml(Stream, bool) |
NineDigit.eKasa.Factories.IdentityHelper.Create(string, bool) |
NineDigit.eKasa.Identity.FromXml(string, bool) |
NineDigit.eKasa.Helpers.EKasaPathHelper |
NineDigit.eKasa.EKasaPath |
NineDigit.eKasa.Infrastructure.Storage.Verification.Exceptions.StorageVerificationException |
NineDigit.eKasa.Storage.Verification.StorageVerificationException |
NineDigit.eKasa.Storage.Indexing.Exceptions.IndexTableIntegrityException |
NineDigit.eKasa.Storage.Indexing.IndexTableIntegrityException |
NineDigit.eKasaClient.Exceptions.EKasaFaultException |
NineDigit.eKasaClient.EKasaFaultException |
NineDigit.eKasaClient.Exceptions.EKasaRegistrationException |
NineDigit.eKasaClient.EKasaRegistrationException |
System.IDeepCloneable |
NineDigit.eKasa.IDeepCloneable |
System.IDeepCloneable<T> |
NineDigit.eKasa.IDeepCloneable<T> |
Internalized classes
Access modifiers was changed to internal for all classes, that are not intended for public use.
List of affected classes:
NineDigit.eKasa.Application.Domain.IReadOnlyRegisterTokenQueueNineDigit.eKasa.Core.Data.Comparers.ReferenceEqualityComparerNineDigit.eKasa.Core.Data.Comparers.RegistrationRequestDataEqualityComparerNineDigit.eKasa.Core.Data.RegisterReceiptResult.Create(ReceiptRegistrationRequest, IEKasaClientResponse<ReceiptRegistrationResult>)NineDigit.eKasa.Core.Data.SubmitAsyncHandler(RegistrationRequest, CancellationToken)NineDigit.eKasa.Core.Data.SubmitAsyncHandler<TRequest, TResult>(TRequest, CancellationToken)NineDigit.eKasa.Core.Extensions.IInternetConnectivityMonitorExtensionsNineDigit.eKasa.Core.Extensions.ReceiptRegistrationRequestReceiptExtensionsNineDigit.eKasa.Core.Extensions.RegisterRequestStateExtensionsNineDigit.eKasa.Core.Helpers.CryptoHelperNineDigit.eKasa.Core.Helpers.DateTimeHelperNineDigit.eKasa.Core.Helpers.DateTimeOffsetHelperNineDigit.eKasa.Core.Helpers.SecureStringHelper.Decrypt(SecureString, Action<string>)NineDigit.eKasa.Core.Helpers.SecureStringHelper.Decrypt<T>(SecureString, Action<string, T>)NineDigit.eKasa.Core.Helpers.TimeoutHelperNineDigit.eKasa.Core.IEKasaClientNineDigit.eKasa.Core.IEKasaClientRequestNineDigit.eKasa.Core.IEKasaClientRequest<TResult>NineDigit.eKasa.Core.IEKasaClientResponseNineDigit.eKasa.Core.IEKasaClientResponse<TResult>NineDigit.eKasa.Core.IEKasaClientResponseExtensionsNineDigit.eKasa.Core.IEKasaClientResponseExtensions.EnsureIsSuccessful(this IEKasaClientResponse)NineDigit.eKasa.Core.IEKasaMessageNineDigit.eKasa.Core.Printing.IPrinterNineDigit.eKasa.Core.Printing.IPrinterProviderNineDigit.eKasa.Core.Printing.NonfiscalReceiptPrintContextNineDigit.eKasa.Core.Printing.ReceiptCopyPrintContextNineDigit.eKasa.Core.Printing.ReceiptPrintContextNineDigit.eKasa.Core.Printing.RequestsPrintContextNineDigit.eKasa.Core.RegisterStateExtensionsNineDigit.eKasa.Core.Services.DateTimeProviderNineDigit.eKasa.Core.Services.EuropeBratislavaDateTimeProviderNineDigit.eKasa.Core.Services.ICashDrawerServiceNineDigit.eKasa.Core.Services.ICertificateRecordRepositoryNineDigit.eKasa.Core.Services.IDateTimeProviderNineDigit.eKasa.Core.Services.IIdentityRecordRepositoryNineDigit.eKasa.Core.Services.IMemoryFileStreamerNineDigit.eKasa.Core.Services.IPrinterStatusProviderNineDigit.eKasa.Core.Services.IProductInfoProviderNineDigit.eKasa.Core.Services.IReceiptNumberProviderNineDigit.eKasa.Core.Services.IRecordRepositoryNineDigit.eKasa.Core.Services.IRecordRepositoryConnectionNineDigit.eKasa.Core.Services.IRegisterTokenQueueProcessorNineDigit.eKasa.Core.Services.ISwIdProviderNineDigit.eKasa.Core.Services.MemoryRecordRepositoryNineDigit.eKasa.Core.Services.OffsetStopwatchNineDigit.eKasa.Core.X509Certificate2ExtensionsNineDigit.eKasa.Helpers.EKasaPathHelper.GetAbsoluteFilePath(string)NineDigit.Validation.Extensions.IValidatableObjectExtensionsSystem.Net.WebRequestExtensionsSystem.ObjectExtensionsSystem.ObjectExtensions.ToInvariantString(this IFormattable, string)System.Security.Cryptography.X509Certificates.X500DistinguishedNameExtensionsSystem.Security.Cryptography.X509Certificates.X509CertificateCollectionExtensionsSystem.TimeSpanExtensions
NuGet composition
- Libraries for accessing CHDU devices (
NineDigit.ChduTechandNineDigit.ChduLite) became separate NuGet packages. NineDigit.eKasa.Core.dllis merged withNineDigit.eKasa.dll.NineDigit.eKasaNuGet package no longer contains two DLL files.