Correzione migrations utils stats

This commit is contained in:
Samuele Locatelli
2026-04-08 07:02:56 +02:00
parent 5cb4230156
commit db4f5d7d15
13 changed files with 106 additions and 115 deletions
@@ -84,23 +84,23 @@ namespace MP.Data.Repository.Utils
// ora preparo inserimento massivo
var existingRecords = await dbCtx
.DbSetStatsAggr
.Where(x => listRecords.Select(r => r.Hour).Contains(x.Hour) &&
listRecords.Select(r => r.Type).Contains(x.Type))
.Where(x => listRecords.Select(r => r.Hour).Contains(x.Hour) &&
listRecords.Select(r => r.Envir).Contains(x.Envir))
.ToListAsync();
if (existingRecords.Count > 0)
{
var existingHours = existingRecords.Select(r => new { r.Hour, r.Type }).ToHashSet();
var recordsToUpdate = listRecords.Where(r =>
existingHours.Contains(new { Hour = r.Hour, Type = r.Type })).ToList();
var existingHours = existingRecords.Select(r => new { r.Hour, r.Envir }).ToHashSet();
var recordsToAdd = listRecords.Where(r =>
!existingHours.Contains(new { Hour = r.Hour, Type = r.Type })).ToList();
var recordsToUpdate = listRecords.Where(r =>
existingHours.Contains(new { Hour = r.Hour, Envir = r.Envir })).ToList();
var recordsToAdd = listRecords.Where(r =>
!existingHours.Contains(new { Hour = r.Hour, Envir = r.Envir })).ToList();
foreach (var updateRec in recordsToUpdate)
{
var existing = existingRecords.First(x => x.Hour == updateRec.Hour && x.Type == updateRec.Type);
var existing = existingRecords.First(x => x.Hour == updateRec.Hour && x.Envir == updateRec.Envir);
existing.RequestCount = updateRec.RequestCount;
existing.AvgDuration = updateRec.AvgDuration;
existing.MaxDuration = updateRec.MaxDuration;