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; }
}