1435c013d3233ea42abba4afbced60a3b9d4d137
**Refactoring: Separazione logica C# da markup Razor nel componente DataCoupler** **Modifiche principali:** - Spostamento di tutta la logica C# dal file DataCoupler.razor al file DataCoupler.razor.cs come partial class - Rimozione completa del blocco @code dal file .razor mantenendo solo il markup HTML/Razor - Aggiunta delle using directive mancanti (System.Data, System.Text, ExcelDataReader, ecc.) - Correzione delle firme dei metodi e degli handler di eventi per la compatibilità Blazor - Sistemazione delle proprietà di iniezione dei servizi [Inject] nel code-behind - Risoluzione di tutti gli errori di compilazione relativi alla separazione dei file **Miglioramenti strutturali:** - Migliore separazione delle responsabilità tra presentazione e logica business - Struttura del codice più pulita e manutenibile seguendo le best practice Blazor - Codice più facilmente testabile con la logica isolata nel file .cs - Rimozione di codice duplicato e ottimizzazione delle funzioni di utilità **File modificati:** - Data_Coupler/Pages/DataCoupler.razor: Pulizia markup, rimozione blocco @code - Data_Coupler/Pages/DataCoupler.razor.cs: Implementazione completa della logica C# come partial class Questo refactoring migliora significativamente la struttura del codice seguendo le convenzioni standard di Blazor per la separazione tra markup e logica applicativa.
Data-Coupler
Panoramica
Data-Coupler è una soluzione integrata per la gestione di connessioni dati e credenziali, composta da tre progetti principali:
- CredentialManager: Libreria per la gestione sicura delle credenziali
- DataConnection: Libreria per connessioni a database e API REST
- Data_Coupler: Applicazione Blazor Server per l'interfaccia utente
Architettura
CredentialManager
Libreria responsabile per:
- Gestione sicura delle credenziali (Database, REST API)
- Crittografia dei dati sensibili
- Persistenza su database SQLite
- Validazione delle credenziali
DataConnection
Libreria per connessioni dati che include:
- Supporto per database: SQL Server, MySQL, PostgreSQL, Oracle, SQLite, DB2, SAP HANA
- Gestione connessioni REST API
- Integrazione con CredentialManager per l'autenticazione
- Factory pattern per la gestione di diversi provider
Data_Coupler
Applicazione Blazor Server che fornisce:
- Interfaccia web per la gestione delle credenziali
- CRUD completo per credenziali database e REST API
- Test delle connessioni
- Validazione form integrata
Configurazione
1. Database delle Credenziali
L'applicazione utilizza SQLite per memorizzare le credenziali. Il database viene automaticamente creato in:
Data_Coupler/wwwroot/data/credentials.db
2. Registrazione Servizi
Nel Program.cs di Data_Coupler:
// Add CredentialManager services
builder.Services.AddDataConnectionCredentialManagement("Data Source=wwwroot/data/credentials.db");
Utilizzo
Gestione Credenziali via Web Interface
- Avviare l'applicazione Data_Coupler
- Navigare su
/credentials - Utilizzare l'interfaccia per:
- Aggiungere nuove credenziali (Database/REST API)
- Modificare credenziali esistenti
- Testare le connessioni
- Eliminare credenziali
Utilizzo Programmatico
// Iniettare il servizio
@inject IDataConnectionCredentialService CredentialService
// Ottenere opzioni per connessione database
var dbOptions = await CredentialService.GetDbManagerOptionsAsync("MyDatabase");
// Ottenere opzioni per API REST
var apiOptions = await CredentialService.GetRestServiceOptionsAsync("MyApi");
// Gestire credenziali
var credential = new DatabaseCredential
{
Name = "Test",
DatabaseType = DatabaseType.SqlServer,
Host = "localhost",
Port = 1433,
DatabaseName = "TestDB",
Username = "user",
Password = "password"
};
await CredentialService.SaveDatabaseCredentialAsync(credential);
Struttura dei Progetti
Data-Coupler/
├── CredentialManager/ # Gestione credenziali
│ ├── Data/ # DbContext e configurazioni
│ ├── Models/ # Modelli per credenziali
│ └── Services/ # Servizi core
├── DataConnection/ # Connessioni dati
│ ├── CredentialManagement/ # Integrazione con CredentialManager
│ │ ├── Interfaces/ # Interfacce servizi
│ │ ├── Models/ # Extension methods e conversioni
│ │ └── Services/ # Implementazione servizi
│ ├── DB/ # Gestione database
│ └── REST/ # Gestione API REST
└── Data_Coupler/ # Applicazione Blazor
├── Pages/ # Pagine Blazor
│ └── CredentialManagement.razor
├── Shared/ # Componenti condivisi
└── wwwroot/data/ # Database SQLite
Build e Deployment
Prerequisiti
- .NET 9.0 SDK
- Visual Studio 2022 o VS Code
Build
dotnet build Data_Coupler.sln
Esecuzione
dotnet run --project Data_Coupler/Data_Coupler.csproj
L'applicazione sarà disponibile su:
- HTTP: http://localhost:5135
- HTTPS: https://localhost:7132
Caratteristiche di Sicurezza
- Crittografia: Le password vengono crittografate prima del salvataggio
- Validazione: Validazione completa dei dati in input
- Isolamento: Ogni progetto ha responsabilità specifiche
- Type Safety: Uso di tipi forti per evitare errori
Testing
L'applicazione include funzionalità di test per:
- Connessioni database
- Chiamate API REST
- Validazione credenziali
Il testing può essere eseguito direttamente dall'interfaccia web.
Log e Monitoring
I servizi utilizzano ILogger per tracciare:
- Operazioni CRUD sulle credenziali
- Test di connessione
- Errori e eccezioni
Contributi
Per contribuire al progetto:
- Fork del repository
- Creare un branch per la feature
- Implementare i cambiamenti
- Testare thoroughly
- Creare una Pull Request
Licenza
[Specificare la licenza del progetto]
Description
Languages
C#
70%
HTML
28.1%
PowerShell
1.1%
CSS
0.3%
Shell
0.3%
Other
0.2%