feat: implementa campo Data_Hash per ottimizzazione trasferimenti

- Aggiunge colonna "Hash Dati" nella tabella delle associazioni con visualizzazione troncata
- Implementa generazione hash SHA256 che include signature dei mapping per rilevare modifiche configurazione
- Modifica logica trasferimento per saltare record con hash identico (ottimizzazione prestazioni)
- Corregge UpdateAssociationAsync per persistere correttamente Data_Hash e LastVerifiedAt nel database
- Aggiorna hash solo in caso di trasferimento riuscito, mantenendo coerenza tra Salesforce e database locale
- Migliora logging per debug del sistema di hash e associazioni

Risolve il problema dei trasferimenti continui quando i mapping cambiano e ottimizza le prestazioni saltando record non modificati.
This commit is contained in:
Alessio Dal Santo
2025-07-21 10:59:50 +02:00
parent e21e87dff9
commit 20a514068a
8 changed files with 578 additions and 51 deletions
+15
View File
@@ -242,6 +242,7 @@
<th>Entità Destinazione</th>
<th>ID Destinazione</th>
<th>Credenziale</th>
<th>Hash Dati</th>
<th>Stato</th>
<th>Creata</th>
<th>Verificata</th>
@@ -270,6 +271,20 @@
<td>
<span class="badge bg-secondary">@association.RestCredentialName</span>
</td>
<td>
@if (!string.IsNullOrEmpty(association.Data_Hash))
{
<code class="small text-truncate d-inline-block" style="max-width: 120px;" title="@association.Data_Hash">
@(association.Data_Hash.Substring(0, Math.Min(12, association.Data_Hash.Length)))...
</code>
}
else
{
<span class="text-muted">
<i class="fas fa-minus"></i> Non disponibile
</span>
}
</td>
<td>
@if (association.IsActive)
{