fix save Invoice

This commit is contained in:
zzdrojewskipaw
2025-11-28 17:37:04 +01:00
parent f31176cfc9
commit 81f6d83fd0

View File

@@ -33,6 +33,8 @@ public class InvoiceSyncService(HttpClient httpClient, BimAIDbContext db, IConfi
var invoices = dataElement.EnumerateArray();
var now = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
var processedCount = 0;
var batchSize = 20;
foreach (var invoiceJson in invoices)
{
@@ -115,6 +117,14 @@ public class InvoiceSyncService(HttpClient httpClient, BimAIDbContext db, IConfi
existing.UpdatedAt = DateTime.UtcNow;
Console.WriteLine($"[SYNC] Updated invoice: {documentNo} from {source}");
}
processedCount++;
if (processedCount % batchSize == 0)
{
await db.SaveChangesAsync();
Console.WriteLine($"[SYNC] Saved batch of {batchSize} invoices. Total processed: {processedCount}");
}
}
catch (Exception ex)
{
@@ -122,6 +132,9 @@ public class InvoiceSyncService(HttpClient httpClient, BimAIDbContext db, IConfi
}
}
await db.SaveChangesAsync();
Console.WriteLine($"[SYNC] Saved remaining invoices. Total processed: {processedCount}");
syncState.LastSynced = now;
if (db.SyncStates.FirstOrDefault(x => x.Entity == "Invoice") == null)
{
@@ -131,6 +144,7 @@ public class InvoiceSyncService(HttpClient httpClient, BimAIDbContext db, IConfi
{
db.SyncStates.Update(syncState);
}
Console.WriteLine("Before final SaveChangesAsync");
await db.SaveChangesAsync();
Console.WriteLine("[SYNC] Invoice sync completed");
}