fix save Invoice
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user