diff --git a/AsbCloudInfrastructure/Services/DataService.cs b/AsbCloudInfrastructure/Services/DataService.cs index 0e5fd2f9..277f0a1d 100644 --- a/AsbCloudInfrastructure/Services/DataService.cs +++ b/AsbCloudInfrastructure/Services/DataService.cs @@ -18,6 +18,7 @@ namespace AsbCloudInfrastructure.Services private readonly ITelemetryService telemetryService; private readonly ITelemetryAnalyticsService analyticsService; private readonly CacheTable cacheTelemetry; + private readonly CacheTable cacheTelemetryUsers; private readonly CacheTable cacheWells; public DataService(IAsbCloudDbContext db, ITelemetryService telemetryService, @@ -27,6 +28,7 @@ namespace AsbCloudInfrastructure.Services this.telemetryService = telemetryService; this.analyticsService = analyticsService; cacheTelemetry = cacheDb.GetCachedTable((AsbCloudDbContext)db); + cacheTelemetryUsers = cacheDb.GetCachedTable((AsbCloudDbContext)db); cacheWells = cacheDb.GetCachedTable((AsbCloudDbContext)db); } @@ -94,10 +96,13 @@ namespace AsbCloudInfrastructure.Services if (oldDataSaubBase.Any()) db.DataSaubBases.RemoveRange(oldDataSaubBase); - foreach (var dto in dtos) { var dataSaub = dto.Adapt(); + var telemetryUser = await cacheTelemetryUsers + .FirstOrDefaultAsync(u => u.IdTelemetry == telemetryId && (u.Name == dto.User || u.Surname == dto.User), token) + .ConfigureAwait(false); + dataSaub.IdUser = telemetryUser?.IdUser; dataSaub.IdTelemetry = telemetryId; db.DataSaubBases.Add(dataSaub);