using System.Collections.Generic; using System.Threading.Tasks; namespace DataConnection.Interfaces; /// /// Interfaccia per la scoperta dei database disponibili sul server /// public interface IDatabaseDiscovery { /// /// Ottiene l'elenco di tutti i database disponibili sul server /// /// Stringa di connessione al server (senza specificare il database) /// Se true, esclude i database di sistema /// Lista di nomi dei database disponibili Task> GetAvailableDatabasesAsync(string serverConnectionString, bool excludeSystemDatabases = true); /// /// Ottiene informazioni dettagliate sui database disponibili /// /// Stringa di connessione al server /// Se true, esclude i database di sistema /// Dizionario con nome database e metadati Task> GetDatabasesInfoAsync(string serverConnectionString, bool excludeSystemDatabases = true); } /// /// Informazioni sul database /// public class DatabaseInfo { /// /// Nome del database /// public string Name { get; set; } /// /// Dimensione del database in MB /// public double SizeMB { get; set; } /// /// Data di creazione /// public System.DateTime CreationDate { get; set; } /// /// Stato del database (online, offline, ecc.) /// public string Status { get; set; } /// /// Proprietario del database /// public string Owner { get; set; } /// /// Indica se รจ un database di sistema /// public bool IsSystemDatabase { get; set; } }