From 406ddfb2260e69b8ea80ad9ba05e736bc36b1720 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Sat, 10 May 2025 03:47:55 +0200 Subject: [PATCH] Update package references and improve code readability - Added `Microsoft.Data.SqlClient` v5.1.1 to `EnvelopeGenerator.Application.csproj` for enhanced database compatibility. - Refactored `ReadByUuidSignatureAsync` in `EnvelopeReceiverRepository` to improve query construction and execution clarity. - Simplified error handling in `HomeController` by replacing `ThenAsync` with a more direct approach for processing results. - Removed `System.Data.SqlClient` v4.8.5 and added `System.Diagnostics.PerformanceCounter` v7.0.0 in `EnvelopeGenerator.Web.csproj` to focus on performance monitoring. --- .../EnvelopeGenerator.Application.csproj | 1 + .../Repositories/EnvlopeReceiverRepository.cs | 6 ++- .../Controllers/HomeController.cs | 43 ++++++++++--------- .../EnvelopeGenerator.Web.csproj | 2 +- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj b/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj index e285a702..5cbf22e7 100644 --- a/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj +++ b/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj @@ -21,6 +21,7 @@ + diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs index 279d7f77..b96f073d 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs @@ -39,7 +39,11 @@ public class EnvelopeReceiverRepository : CRUDRepository await ReadWhere(signature: signature, withEnvelope: withEnvelope, withReceiver: withReceiver, readOnly: readOnly).ToListAsync(); public async Task ReadByUuidSignatureAsync(string uuid, string signature, bool withEnvelope = true, bool withReceiver = true, bool readOnly = true) - => await ReadWhere(uuid: uuid, signature: signature, withEnvelope: withEnvelope, withReceiver: withReceiver, readOnly: readOnly).FirstOrDefaultAsync(); + { + var query = ReadWhere(uuid: uuid, signature: signature, withEnvelope: withEnvelope, withReceiver: withReceiver, readOnly: readOnly); + + return await query.FirstOrDefaultAsync(); + } public async Task ReadAccessCodeAsync(string uuid, string signature, bool readOnly = true) => await ReadWhere(uuid: uuid, signature: signature, readOnly: readOnly) diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index 11c9af8e..fcd914bf 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -96,31 +96,32 @@ public class HomeController : ViewControllerBase ViewData["EnvelopeKey"] = envelopeReceiverId; - return await _envRcvService.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelopeReceiverId).ThenAsync( - SuccessAsync: async er => - { - EnvelopeResponse response = await envelopeOldService.LoadEnvelope(envelopeReceiverId); + var er_res = await _envRcvService.ReadByEnvelopeReceiverIdAsync(envelopeReceiverId: envelopeReceiverId); + + if (er_res.IsFailed) + { + _logger.LogNotice(er_res.Notices); + return this.ViewEnvelopeNotFound(); + } - bool accessCodeAlreadyRequested = await _historyService.AccessCodeAlreadyRequested(envelopeId: er.Envelope!.Id, userReference: er.Receiver!.EmailAddress); - if (!accessCodeAlreadyRequested) - { - await _historyService.RecordAsync(er.EnvelopeId, er.Receiver.EmailAddress, EnvelopeStatus.AccessCodeRequested); + var er = er_res.Data; - var mailRes = await _mailService.SendAccessCodeAsync(envelopeReceiverDto: er); - if (mailRes.IsFailed) - { - _logger.LogNotice(mailRes); - return this.ViewAccessCodeNotSent(); - } - } + EnvelopeResponse response = await envelopeOldService.LoadEnvelope(envelopeReceiverId); - return Redirect($"{envelopeReceiverId}/Locked"); - }, - Fail: (messages, notices) => + bool accessCodeAlreadyRequested = await _historyService.AccessCodeAlreadyRequested(envelopeId: er.Envelope!.Id, userReference: er.Receiver!.EmailAddress); + if (!accessCodeAlreadyRequested) + { + await _historyService.RecordAsync(er.EnvelopeId, er.Receiver.EmailAddress, EnvelopeStatus.AccessCodeRequested); + + var mailRes = await _mailService.SendAccessCodeAsync(envelopeReceiverDto: er); + if (mailRes.IsFailed) { - _logger.LogNotice(notices); - return this.ViewEnvelopeNotFound(); - }); + _logger.LogNotice(mailRes); + return this.ViewAccessCodeNotSent(); + } + } + + return Redirect($"{envelopeReceiverId}/Locked"); } catch(Exception ex) { diff --git a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj index 4b921b5d..6cf34084 100644 --- a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj +++ b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj @@ -2126,7 +2126,7 @@ - +