feat: Implementa sistema completo di gestione associazioni record

- Aggiunge modello RecordAssociation con migrazione database
- Implementa servizio CRUD completo per gestione associazioni
- Crea interfaccia utente avanzata per visualizzazione e gestione
- Aggiunge funzionalità di filtro, paginazione e ricerca
- Implementa azioni di massa (eliminazione, validazione, pulizia)
- Aggiunge esportazione CSV delle associazioni
- Integra validazione automatica degli ID destinazione
- Implementa logica upsert robusta con controllo validità associazioni
- Aggiunge selezione manuale chiavi per sorgenti non-database
- Migliora UI con statistiche, modali di conferma e feedback operazioni
- Refactoring completo logica trasferimento dati per utilizzare associazioni
This commit is contained in:
2025-06-28 02:22:46 +02:00
parent 51c61eabf7
commit 34b47a2bd4
9 changed files with 707 additions and 1 deletions
@@ -51,4 +51,29 @@ public interface IRecordAssociationService
/// Pulisce le associazioni obsolete (opzionale)
/// </summary>
Task<int> CleanupOldAssociationsAsync(TimeSpan olderThan);
/// <summary>
/// Elimina tutte le associazioni per una specifica combinazione sorgente-destinazione
/// </summary>
Task<int> ClearAssociationsAsync(string sourceName, string destinationEntity, string restCredentialName);
/// <summary>
/// Elimina tutte le associazioni nel sistema
/// </summary>
Task<int> ClearAllAssociationsAsync();
/// <summary>
/// Verifica se un ID di destinazione esiste ancora nel sistema target
/// </summary>
Task<bool> ValidateDestinationIdAsync(string destinationId, string destinationEntity, string restCredentialName);
/// <summary>
/// Ottiene tutte le associazioni con ID di destinazione non validi
/// </summary>
Task<List<RecordAssociation>> GetInvalidAssociationsAsync(string destinationEntity, string restCredentialName);
/// <summary>
/// Pulisce le associazioni con ID di destinazione non più validi
/// </summary>
Task<int> CleanupInvalidAssociationsAsync(string destinationEntity, string restCredentialName);
}