From 980a981879ffcf360b5c9fa9ef03bff64ff05b30 Mon Sep 17 00:00:00 2001 From: forsthug <85173816+forsthug@users.noreply.github.com> Date: Wed, 25 Feb 2026 15:21:09 +0100 Subject: [PATCH 1/2] add client reg flag to zero receipt --- .../RequestCommands/RequestCommand.cs | 13 +++++++++---- .../RequestCommands/ZeroReceiptCommand.cs | 5 +++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs index 62e43e223..9ee2aa861 100644 --- a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs +++ b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs @@ -377,6 +377,15 @@ await _failedFinishTransactionRepo.InsertOrUpdateTransactionAsync(new FailedFini protected async Task<(ulong transactionNumber, List signatures, string clientId, string signatureAlgorithm, string publicKeyBase64, string serialNumberOctet)> ProcessInitialOperationReceiptAsync(string transactionIdentifier, string processType, string payload, ftQueueItem queueItem, ftQueueDE queueDE, bool clientIdRegistrationOnly) { _logger.LogTrace("RequestCommand.ProcessInitialOperationReceiptAsync [enter]."); + await RegisterClient(queueDE, clientIdRegistrationOnly).ConfigureAwait(false); + + var processReceiptResponse = await ProcessReceiptAsync(transactionIdentifier, processType, payload, queueItem, queueDE).ConfigureAwait(false); + _logger.LogTrace("RequestCommand.ProcessInitialOperationReceiptAsync [exit]."); + return (processReceiptResponse.TransactionNumber, processReceiptResponse.Signatures, processReceiptResponse.ClientId, processReceiptResponse.SignatureAlgorithm, processReceiptResponse.PublicKeyBase64, processReceiptResponse.SerialNumberOctet); + } + + protected async Task RegisterClient(ftQueueDE queueDE, bool clientIdRegistrationOnly) + { if (!clientIdRegistrationOnly) { await _deSSCDProvider.Instance.SetTseStateAsync(new TseState { CurrentState = TseStates.Initialized }).ConfigureAwait(false); @@ -400,10 +409,6 @@ await _failedFinishTransactionRepo.InsertOrUpdateTransactionAsync(new FailedFini _logger.LogError(ex, $"TSE client registration failed. ClientId: {queueDE.CashBoxIdentification}"); throw; } - - var processReceiptResponse = await ProcessReceiptAsync(transactionIdentifier, processType, payload, queueItem, queueDE).ConfigureAwait(false); - _logger.LogTrace("RequestCommand.ProcessInitialOperationReceiptAsync [exit]."); - return (processReceiptResponse.TransactionNumber, processReceiptResponse.Signatures, processReceiptResponse.ClientId, processReceiptResponse.SignatureAlgorithm, processReceiptResponse.PublicKeyBase64, processReceiptResponse.SerialNumberOctet); } protected async Task<(ulong transactionNumber, List signatures, string clientId, string signatureAlgorithm, string publicKeyBase64, string serialNumberOctet)> ProcessOutOfOperationReceiptAsync(string processType, string payload, ftQueueItem queueItem, ftQueue queue, ftQueueDE queueDE, ReceiptRequest request) diff --git a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs index 71ea5e42f..6ff6f01ca 100644 --- a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs +++ b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs @@ -43,6 +43,11 @@ public override async Task ExecuteAsync(ftQueue queue, f try { + + if (request.IsModifyClientIdOnlyRequest()) + { + await RegisterClient(queueDE, true).ConfigureAwait(false); + } var processReceiptResponse = await ProcessReceiptAsync(request.cbReceiptReference, processType, payload, queueItem, queueDE).ConfigureAwait(false); receiptResponse.ftReceiptIdentification = request.GetReceiptIdentification(queue.ftReceiptNumerator, processReceiptResponse.TransactionNumber); From e630371ed2fecda155e97c774ef69d8d365355fc Mon Sep 17 00:00:00 2001 From: forsthug <85173816+forsthug@users.noreply.github.com> Date: Thu, 26 Feb 2026 11:10:15 +0100 Subject: [PATCH 2/2] change to config param --- .../QueueDEConfiguration.cs | 2 ++ .../RequestCommands/RequestCommand.cs | 2 +- .../RequestCommands/ZeroReceiptCommand.cs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/QueueDEConfiguration.cs b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/QueueDEConfiguration.cs index 92a72a477..2668852d3 100644 --- a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/QueueDEConfiguration.cs +++ b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/QueueDEConfiguration.cs @@ -28,6 +28,8 @@ public class QueueDEConfiguration public bool CloseOpenTSETransactionsOnDailyClosing { get; set; } = false; + public bool RegisterClient { get; set; } = false; + public static QueueDEConfiguration FromMiddlewareConfiguration(ILogger logger, MiddlewareConfiguration middlewareConfiguration) { var configuration = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(middlewareConfiguration.Configuration)); diff --git a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs index 9ee2aa861..9b0e31411 100644 --- a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs +++ b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/RequestCommand.cs @@ -38,7 +38,7 @@ public abstract class RequestCommand protected readonly IPersistentTransactionRepository _openTransactionRepo; private readonly IJournalDERepository _journalDERepository; private readonly MiddlewareConfiguration _middlewareConfiguration; - private readonly QueueDEConfiguration _queueDEConfiguration; + protected readonly QueueDEConfiguration _queueDEConfiguration; private readonly ITarFileCleanupService _tarFileCleanupService; protected readonly IMasterDataService _masterDataService; diff --git a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs index 6ff6f01ca..2f7ab13d5 100644 --- a/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs +++ b/queue/src/fiskaltrust.Middleware.Localization.QueueDE/RequestCommands/ZeroReceiptCommand.cs @@ -44,7 +44,7 @@ public override async Task ExecuteAsync(ftQueue queue, f try { - if (request.IsModifyClientIdOnlyRequest()) + if (_queueDEConfiguration.RegisterClient) { await RegisterClient(queueDE, true).ConfigureAwait(false); }