From 98f1abcae48fe3b16a75d1babd4990cf34ee510e Mon Sep 17 00:00:00 2001 From: ilitirit Date: Wed, 7 Aug 2024 16:32:42 +0200 Subject: [PATCH] Refactor code --- .../Consumers/DutyCompletionResultConsumer.cs | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Expedience.Api/Consumers/DutyCompletionResultConsumer.cs b/Expedience.Api/Consumers/DutyCompletionResultConsumer.cs index de3a70f..f9ca1bc 100644 --- a/Expedience.Api/Consumers/DutyCompletionResultConsumer.cs +++ b/Expedience.Api/Consumers/DutyCompletionResultConsumer.cs @@ -43,6 +43,7 @@ namespace Expedience.Api.Consumers if (user == null) return; + var dutyCompletionResult = dbContext.DutyCompletionResults.FirstOrDefault(d => d.Id == message.UploadId); var completionResult = new DutyCompletionResult { Id = message.UploadId, @@ -65,14 +66,13 @@ namespace Expedience.Api.Consumers UploadedAt = message.UploadDateUtc, }; - var dutyCompletionResult = dbContext.DutyCompletionResults.FirstOrDefault(d => d.Id == message.UploadId); if (dutyCompletionResult == null) { - dbContext.DutyCompletionResults.Add(completionResult); + SaveDutyCompletionResult(dbContext, message, completionResult); } else { - _logger.LogWarning($"The Result with Id {message.UploadId} has already been uploaded"); + _logger.LogWarning("The Result with Id {uploadId} has already been uploaded", message.UploadId); } // Insert this territory if it does not exist @@ -92,11 +92,23 @@ namespace Expedience.Api.Consumers } else if (String.IsNullOrWhiteSpace(territory.ContentName)) { + _logger.LogInformation("Updating territory {territoryId} with content name {contentName} and place name {placeName}", + completionResult.TerritoryId, message.DutyInfo.ContentName, message.DutyInfo.PlaceName); + // Update the place/content name if necessary territory.ContentName = message.DutyInfo.ContentName; territory.PlaceName = message.DutyInfo.PlaceName; } + await dbContext.SaveChangesAsync(); + + _logger.LogInformation("Consumed message {uploadId} from user {userHash}", message.UploadId, userHash); + } + + private static void SaveDutyCompletionResult(ExpedienceContext dbContext, Models.DutyCompletionResult message, + DutyCompletionResult completionResult) + { + dbContext.DutyCompletionResults.Add(completionResult); var memberNumber = 0; var dutyMembers = new List(); foreach (var member in message.GroupMembers) @@ -111,15 +123,11 @@ namespace Expedience.Api.Consumers IsNpc = member.IsNpc, IsPlayer = member.IsPlayer, }; - + dutyMembers.Add(dutyMember); } dbContext.DutyMembers.AddRange(dutyMembers); - - await dbContext.SaveChangesAsync(); - - _logger.LogInformation("Consumed message {uploadId} from user {userHash}", message.UploadId, userHash); } private async Task CreateUser(ExpedienceContext dbContext, int worldId, string userHash, CancellationToken cancellationToken)