Refactor code

main
ilitirit 1 year ago
parent f4298b0e0d
commit 98f1abcae4

@ -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<DutyMember>();
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<User?> CreateUser(ExpedienceContext dbContext, int worldId, string userHash, CancellationToken cancellationToken)

Loading…
Cancel
Save