feat: Aggiunto sistema completo di gestione profili per Data Coupler
- Creata nuova libreria Components con componenti Blazor riutilizzabili * ProfileSelector: dropdown per selezione profili salvati * ProfileSaver: componente per salvare configurazioni correnti come profili * ProfileManagement: modale per gestione profili salvati * ProfileQuickActions: bottoni azioni rapide per operazioni sui profili - Esteso CredentialManager con entità e servizi per DataCouplerProfile * Aggiunto modello DataCouplerProfile con configurazioni mapping e metadati * Implementata migrazione Entity Framework per memorizzazione profili * Creato DataCouplerProfileService per operazioni CRUD * Aggiunto CredentialDbContextFactory per operazioni database design-time - Migliorato componente principale DataCoupler con integrazione profili * Integrata funzionalità caricamento/salvataggio profili * Aggiunto selettore profili nella parte superiore dell'interfaccia * Mantenuta retrocompatibilità con funzionalità esistenti * Migliorata esperienza utente con gestione configurazioni salvate - Aggiornata struttura progetto e dipendenze * Aggiunto progetto Components alla soluzione * Aggiornati riferimenti progetti e import * Rimosso progetto obsoleto TestDatabaseFix Questo aggiornamento migliora significativamente il flusso di lavoro permettendo agli utenti di salvare, caricare e gestire configurazioni complete di accoppiamento dati come
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataConnection\DataConnection.csproj" />
|
||||
<ProjectReference Include="..\CredentialManager\CredentialManager.csproj" />
|
||||
<ProjectReference Include="..\Components\Components.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
@inject IDataConnectionFactory ConnectionFactory
|
||||
@inject IJSRuntime JSRuntime
|
||||
@inject ILogger<DataCoupler> Logger
|
||||
@inject CredentialManager.Services.IDataCouplerProfileService ProfileService
|
||||
|
||||
<PageTitle>Data Coupler</PageTitle>
|
||||
|
||||
@@ -24,7 +25,19 @@
|
||||
<h3><i class="fas fa-exchange-alt"></i> Data Coupler - Coupling Database e REST API</h3>
|
||||
<p class="text-muted">Connetti database e servizi REST per il trasferimento dati</p>
|
||||
</div>
|
||||
</div> <div class="row">
|
||||
</div>
|
||||
|
||||
<!-- Sezione Gestione Profili -->
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<ProfileSelector Profiles="availableProfiles"
|
||||
OnProfileLoaded="OnProfileLoaded"
|
||||
OnManageProfiles="OnManageProfiles"
|
||||
IsLoading="isLoadingProfiles" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<!-- Lato Sinistro - Fonte Dati -->
|
||||
<div class="col-md-6">
|
||||
<div class="card h-100">
|
||||
@@ -1103,6 +1116,31 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
<!-- Sezione Salvataggio Profilo -->
|
||||
@if (isDatabaseConnected && isRestConnected && fieldMappings.Any())
|
||||
{
|
||||
<div class="row mt-4">
|
||||
<div class="col-12">
|
||||
<ProfileSaver CanSave="CanSaveProfile()"
|
||||
SourceType="selectedSourceType"
|
||||
SourceSchema="@(databaseTables.Keys.FirstOrDefault()?.Split('.').FirstOrDefault())"
|
||||
SourceTable="selectedTable"
|
||||
DestinationType="rest"
|
||||
DestinationEndpoint="@(selectedRestEntity?.Name)"
|
||||
FieldMappings="GetCurrentFieldMappings()"
|
||||
OnProfileSaved="OnProfileSaved" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<!-- Componente Gestione Profili -->
|
||||
<ProfileManagement ShowModal="showProfileManagement"
|
||||
Profiles="availableProfiles"
|
||||
OnCloseModal="OnCloseProfileManagement"
|
||||
OnProfileLoaded="OnProfileLoaded"
|
||||
OnProfileDeleted="OnProfileDeleted"
|
||||
IsLoading="isLoadingProfiles" />
|
||||
|
||||
<!-- Modal per la selezione del database -->
|
||||
@if (showDatabaseSelectionModal)
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,4 @@
|
||||
@using System.Net.Http
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Microsoft.AspNetCore.Components.Authorization
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
@@ -8,3 +7,4 @@
|
||||
@using Microsoft.JSInterop
|
||||
@using Data_Coupler
|
||||
@using Data_Coupler.Shared
|
||||
@using Components
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user