From 9c6135d208754cf386e6adebabc884a2a64a3f2e Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 21 Aug 2025 11:06:06 +0200 Subject: [PATCH] refactor(ReadOnlyController): Globale try-catch-Anweisungen entfernen --- .../Controllers/ReadOnlyController.cs | 96 +++++++++---------- 1 file changed, 44 insertions(+), 52 deletions(-) diff --git a/EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs b/EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs index c58b24f3..de31351b 100644 --- a/EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs +++ b/EnvelopeGenerator.Web/Controllers/ReadOnlyController.cs @@ -37,71 +37,63 @@ namespace EnvelopeGenerator.Web.Controllers [Obsolete("Use MediatR")] public async Task CreateAsync([FromBody] EnvelopeReceiverReadOnlyCreateDto createDto) { - try + //set AddedWho + var authReceiverMail = this.GetAuthReceiverMail(); + if (authReceiverMail is null) { - //set AddedWho - var authReceiverMail = this.GetAuthReceiverMail(); - if (authReceiverMail is null) - { - _logger.LogError("EmailAddress clam is not found in envelope-receiver-read-only creation process. Create DTO is:\n {dto}", JsonConvert.SerializeObject(createDto)); - return Unauthorized(); - } + _logger.LogError("EmailAddress clam is not found in envelope-receiver-read-only creation process. Create DTO is:\n {dto}", JsonConvert.SerializeObject(createDto)); + return Unauthorized(); + } - var envelopeId = this.GetAuthEnvelopeId(); - if (envelopeId is null) - { - _logger.LogError("Envelope Id clam is not found in envelope-receiver-read-only creation process. Create DTO is:\n {dto}", JsonConvert.SerializeObject(createDto)); - return Unauthorized(); - } + var envelopeId = this.GetAuthEnvelopeId(); + if (envelopeId is null) + { + _logger.LogError("Envelope Id clam is not found in envelope-receiver-read-only creation process. Create DTO is:\n {dto}", JsonConvert.SerializeObject(createDto)); + return Unauthorized(); + } - createDto.AddedWho = authReceiverMail; - createDto.EnvelopeId = envelopeId; + createDto.AddedWho = authReceiverMail; + createDto.EnvelopeId = envelopeId; - // create entity - var creation_res = await _erroService.CreateAsync(createDto: createDto); + // create entity + var creation_res = await _erroService.CreateAsync(createDto: createDto); - if (creation_res.IsFailed) - { - _logger.LogNotice(creation_res); - return StatusCode(StatusCodes.Status500InternalServerError); - } + if (creation_res.IsFailed) + { + _logger.LogNotice(creation_res); + return StatusCode(StatusCodes.Status500InternalServerError); + } - //read new entity - var read_res = await _erroService.ReadByIdAsync(creation_res.Data.Id); - if (read_res.IsFailed) - { - _logger.LogNotice(creation_res); - return StatusCode(StatusCodes.Status500InternalServerError); - } + //read new entity + var read_res = await _erroService.ReadByIdAsync(creation_res.Data.Id); + if (read_res.IsFailed) + { + _logger.LogNotice(creation_res); + return StatusCode(StatusCodes.Status500InternalServerError); + } - var new_erro = read_res.Data; + var new_erro = read_res.Data; - //send email two receiver - return await _mailService.SendAsync(new_erro).ThenAsync(SuccessAsync: async res => + //send email two receiver + return await _mailService.SendAsync(new_erro).ThenAsync(SuccessAsync: async res => + { + //TODO: implement multi-threading to history process (Task) + //TODO: remove casting after change the id type + var hist_res = await _histService.RecordAsync((int)createDto.EnvelopeId, createDto.AddedWho, EnvelopeStatus.EnvelopeShared); + if (hist_res.IsFailed) { - //TODO: implement multi-threading to history process (Task) - //TODO: remove casting after change the id type - var hist_res = await _histService.RecordAsync((int)createDto.EnvelopeId, createDto.AddedWho, EnvelopeStatus.EnvelopeShared); - if (hist_res.IsFailed) - { - _logger.LogError("Although the envelope was sent as read-only, the EnvelopeShared hisotry could not be saved. Create DTO:\n{createDto}", JsonConvert.SerializeObject(createDto)); - _logger.LogNotice(hist_res.Notices); - } + _logger.LogError("Although the envelope was sent as read-only, the EnvelopeShared hisotry could not be saved. Create DTO:\n{createDto}", JsonConvert.SerializeObject(createDto)); + _logger.LogNotice(hist_res.Notices); + } - return Ok(); - }, + return Ok(); + }, - Fail: (msg, ntc) => - { - _logger.LogNotice(ntc); - return StatusCode(StatusCodes.Status500InternalServerError); - }); - } - catch(Exception ex) + Fail: (msg, ntc) => { - _logger.LogError(ex, "{Message}", ex.Message); + _logger.LogNotice(ntc); return StatusCode(StatusCodes.Status500InternalServerError); - } + }); } } } \ No newline at end of file