Files
Data-Coupler/Data_Coupler
Alessio f513251507 refactor: Centralizzata logica Pre-Discovery in servizio dedicato
Creato AssociationService per eliminare duplicazione codice e migliorare manutenibilità

Nuovo servizio:
- Data_Coupler/Services/AssociationService.cs (276 righe)
  * Interfaccia IAssociationService con metodi pubblici
  * PreDiscoveryRequest DTO per parametri configurabili
  * FindOrCreateAssociationAsync(): ricerca locale + Pre-Discovery REST
  * IsPreDiscoveryAssociation(): verifica marker associazioni Pre-Discovery

Refactoring DataCoupler.razor.cs:
- Injected IAssociationService nel componente
- StartDataTransferOriginal(): ridotto da 98 a 20 righe (-78)
- StartDataTransferWithComposite(): ridotto da 93 a 20 righe (-73)
- Verifica Pre-Discovery: ridotto da 20 a 2 righe (-18)
- Sostituito logica inline con chiamate al servizio centralizzato

Refactoring ScheduledProfileExecutionService.cs:
- Injected IAssociationService nel costruttore
- ExecuteDataTransferWithCompositeAsync(): ridotto da 99 a 20 righe (-79)
- Verifica Pre-Discovery: ridotto da 20 a 2 righe (-18)
- Parametro IsScheduledTransfer=true per tracciabilità

Dependency Injection:
- Registrato IAssociationService in Program.cs come Scoped
- Disponibile per dependency injection in tutti i componenti

Vantaggi:
- Eliminata duplicazione: 3 implementazioni → 1 servizio centralizzato
- Codice ridotto di 266 righe (330 → 64 nelle chiamate)
- Manutenibilità: modifiche future in un solo file
- Testabilità: interfaccia facilmente mockabile per unit test
- Riusabilità: servizio disponibile per futuri componenti
- Separazione responsabilità: logica associazioni isolata

Comportamento invariato:
- Nessuna modifica alla logica Pre-Discovery esistente
- Compatibilità completa con database e API
- Stessi marker e metadata nelle associazioni create

Docs: PRE_DISCOVERY_REFACTORING.md
Build:  Successo (0 errori, 25 warning pre-esistenti)
2025-10-21 00:56:01 +02:00
..
2025-03-10 17:39:56 +01:00