@inject ILogger Logger

Configurazione Sistema

Impostazioni generali del sistema Data Coupler.

Database

Configurazione del database principale.

Percorso del database SQLite di sistema
@databaseStats.TotalProfiles
Profili
@databaseStats.TotalCredentials
Credenziali
Performance

Impostazioni per ottimizzare le performance.

Numero di record da processare per volta
Informazioni Sistema
Versione Applicazione:
1.0.0
Framework:
.NET 9.0
Sistema Operativo:
@Environment.OSVersion.Platform
Memoria Utilizzata:
@GetMemoryUsage()
@code { [Parameter] public EventCallback<(string message, string type)> OnShowToast { get; set; } private DatabaseStats databaseStats = new(); private SystemSettings systemSettings = new() { DefaultBatchSize = 200, DefaultTimeout = 30 }; protected override async Task OnInitializedAsync() { await RefreshStats(); } private string GetDatabasePath() { // Implementazione semplificata - in un'implementazione reale // questo dovrebbe venire dalla configurazione var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); return Path.Combine(documentsPath, "DataCoupler", "credentials.db"); } private string GetMemoryUsage() { var workingSet = Environment.WorkingSet; return $"{workingSet / 1024 / 1024:F1} MB"; } private async Task RefreshStats() { try { // Implementazione semplificata - in produzione collegarsi al database databaseStats = new DatabaseStats { TotalProfiles = Random.Shared.Next(5, 50), TotalCredentials = Random.Shared.Next(3, 20) }; await OnShowToast.InvokeAsync(("Statistiche aggiornate", "success")); StateHasChanged(); } catch (Exception ex) { Logger.LogError(ex, "Errore aggiornamento statistiche"); await OnShowToast.InvokeAsync(("Errore aggiornamento statistiche", "error")); } } private async Task SaveSystemSettings() { try { // Implementazione semplificata - in produzione salvare nel database o file di configurazione await Task.Delay(500); // Simula operazione di salvataggio await OnShowToast.InvokeAsync(("Impostazioni salvate con successo", "success")); } catch (Exception ex) { Logger.LogError(ex, "Errore salvataggio impostazioni"); await OnShowToast.InvokeAsync(("Errore salvataggio impostazioni", "error")); } } private class DatabaseStats { public int TotalProfiles { get; set; } public int TotalCredentials { get; set; } } private class SystemSettings { public int DefaultBatchSize { get; set; } public int DefaultTimeout { get; set; } } }