|
|
|
@ -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)
|
|
|
|
@ -116,10 +128,6 @@ namespace Expedience.Api.Consumers
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|