|
|
|
|
@ -7,17 +7,20 @@ namespace Expedience.Api.Consumers
|
|
|
|
|
{
|
|
|
|
|
public class DutyCompletionResultConsumer : IConsumer<Models.DutyCompletionResult>
|
|
|
|
|
{
|
|
|
|
|
private readonly ILogger<DutyCompletionResultConsumer> _logger;
|
|
|
|
|
private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
|
|
|
|
|
|
|
|
public DutyCompletionResultConsumer(IServiceScopeFactory serviceScopeFactory)
|
|
|
|
|
public DutyCompletionResultConsumer(ILogger<DutyCompletionResultConsumer> logger,
|
|
|
|
|
IServiceScopeFactory serviceScopeFactory)
|
|
|
|
|
{
|
|
|
|
|
_logger = logger;
|
|
|
|
|
_serviceScopeFactory = serviceScopeFactory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task Consume(ConsumeContext<Models.DutyCompletionResult> context)
|
|
|
|
|
{
|
|
|
|
|
var message = context.Message;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using var scope = _serviceScopeFactory.CreateScope();
|
|
|
|
|
var dbContext = scope.ServiceProvider.GetRequiredService<ExpedienceContext>();
|
|
|
|
|
|
|
|
|
|
@ -97,6 +100,8 @@ namespace Expedience.Api.Consumers
|
|
|
|
|
dbContext.DutyMembers.AddRange(dutyMembers);
|
|
|
|
|
|
|
|
|
|
await dbContext.SaveChangesAsync();
|
|
|
|
|
|
|
|
|
|
_logger.LogInformation("Consumed message {uploadId} from user {userId}", message.UploadId, userHash);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|