Refactor code

main
ilitirit 1 year ago
parent f4298b0e0d
commit 98f1abcae4

@ -43,6 +43,7 @@ namespace Expedience.Api.Consumers
if (user == null) if (user == null)
return; return;
var dutyCompletionResult = dbContext.DutyCompletionResults.FirstOrDefault(d => d.Id == message.UploadId);
var completionResult = new DutyCompletionResult var completionResult = new DutyCompletionResult
{ {
Id = message.UploadId, Id = message.UploadId,
@ -65,14 +66,13 @@ namespace Expedience.Api.Consumers
UploadedAt = message.UploadDateUtc, UploadedAt = message.UploadDateUtc,
}; };
var dutyCompletionResult = dbContext.DutyCompletionResults.FirstOrDefault(d => d.Id == message.UploadId);
if (dutyCompletionResult == null) if (dutyCompletionResult == null)
{ {
dbContext.DutyCompletionResults.Add(completionResult); SaveDutyCompletionResult(dbContext, message, completionResult);
} }
else 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 // Insert this territory if it does not exist
@ -92,11 +92,23 @@ namespace Expedience.Api.Consumers
} }
else if (String.IsNullOrWhiteSpace(territory.ContentName)) 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 // Update the place/content name if necessary
territory.ContentName = message.DutyInfo.ContentName; territory.ContentName = message.DutyInfo.ContentName;
territory.PlaceName = message.DutyInfo.PlaceName; 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 memberNumber = 0;
var dutyMembers = new List<DutyMember>(); var dutyMembers = new List<DutyMember>();
foreach (var member in message.GroupMembers) foreach (var member in message.GroupMembers)
@ -111,15 +123,11 @@ namespace Expedience.Api.Consumers
IsNpc = member.IsNpc, IsNpc = member.IsNpc,
IsPlayer = member.IsPlayer, IsPlayer = member.IsPlayer,
}; };
dutyMembers.Add(dutyMember); dutyMembers.Add(dutyMember);
} }
dbContext.DutyMembers.AddRange(dutyMembers); dbContext.DutyMembers.AddRange(dutyMembers);
await dbContext.SaveChangesAsync();
_logger.LogInformation("Consumed message {uploadId} from user {userHash}", message.UploadId, userHash);
} }
private async Task<User?> CreateUser(ExpedienceContext dbContext, int worldId, string userHash, CancellationToken cancellationToken) private async Task<User?> CreateUser(ExpedienceContext dbContext, int worldId, string userHash, CancellationToken cancellationToken)

Loading…
Cancel
Save