- Implementata funzionalità completa External ID Relationships nell'interfaccia di mapping
- Corretto bug double-mapping: i campi sorgente usati per External ID non vengono più inclusi nei mapping normali
- Risolto errore MALFORMED_ID causato dall'invio duplicato di campi come proprietà dirette e nested objects
- Implementata logica corretta per relationship names: oggetti standard usano il nome diretto, custom objects usano suffisso __r
- Aggiunta UI a 3 colonne (Object, External ID Field, Source Field) per configurazione External ID Relationships
- Migrazione database per supporto External ID Relationships nei profili
- Aggiornato ProfileSaver.razor.cs per salvare/caricare External ID Relationships
- Aggiornato ScheduledProfileExecutionService.cs per gestire External ID nelle esecuzioni schedulate
- Formato JSON output corretto: { 'Account': { 'CardCode__c': 'V50000' } }
Documentazione: EXTERNAL_ID_RELATIONSHIPS_IMPLEMENTATION.md
- Modificato OnDatabaseCredentialChanged per rilevare connessioni ODBC e forzare useCustomQuery = true
- Aggiunto metodo helper IsOdbcConnection() per verificare tipo credenziale
- Modificata UI DataCoupler.razor:
* Nascosto pulsante 'Connetti e Scopri Schema' per ODBC
* Mostrato messaggio esplicativo per ODBC
* Resa sezione Query Custom sempre visibile per ODBC (senza discovery)
* Nascosta sezione Lista Tabelle per ODBC
- Modificato ValidateCustomQuery per creare temporaneamente DatabaseManager per ODBC
- ODBC ora bypassa completamente il discovery e va diretto a query custom
- Estrazione logica database in DatabaseMethod.cs con tutte le proprietà e metodi protected
- Estrazione logica REST API in RESTMethod.cs con gestione completa delle connessioni
- Creazione DataCouplerModels.cs per modelli condivisi (TransferResult)
- Pulizia file principale DataCoupler.razor.cs mantenendo solo orchestrazione generale
- Rimozione codice duplicato e miglioramento separazione delle responsabilità
- Compilazione verificata senza errori per l'intera soluzione
Struttura finale:
- DataCoupler.razor.cs: gestione file, profili, UI e coordinamento
- DatabaseMethod.cs: connessioni DB, query custom, discovery tabelle/schemi
- RESTMethod.cs: autenticazione REST, discovery entità, metadata
- DataCouplerModels.cs: modelli comuni per