feat: Implement ExistingDatabaseContext for managing existing databases with customizable naming strategies and auto-discovery of entities
feat: Add SqlServerSchemaProvider for extracting database schema information from SQL Server feat: Introduce DatabaseType and NamingStrategy enums for better database management and naming conventions feat: Create IDatabaseDiscovery and IDatabaseManager interfaces for database operations and metadata retrieval feat: Develop REST service client architecture with BaseRestServiceClient and SAP Business One specific implementation feat: Implement REST service discovery page with UI for connecting to SAP Business One Service Layer and displaying discovered entities
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DataConnection.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Interfaccia per la scoperta dei database disponibili sul server
|
||||
/// </summary>
|
||||
public interface IDatabaseDiscovery
|
||||
{
|
||||
/// <summary>
|
||||
/// Ottiene l'elenco di tutti i database disponibili sul server
|
||||
/// </summary>
|
||||
/// <param name="serverConnectionString">Stringa di connessione al server (senza specificare il database)</param>
|
||||
/// <param name="excludeSystemDatabases">Se true, esclude i database di sistema</param>
|
||||
/// <returns>Lista di nomi dei database disponibili</returns>
|
||||
Task<List<string>> GetAvailableDatabasesAsync(string serverConnectionString, bool excludeSystemDatabases = true);
|
||||
|
||||
/// <summary>
|
||||
/// Ottiene informazioni dettagliate sui database disponibili
|
||||
/// </summary>
|
||||
/// <param name="serverConnectionString">Stringa di connessione al server</param>
|
||||
/// <param name="excludeSystemDatabases">Se true, esclude i database di sistema</param>
|
||||
/// <returns>Dizionario con nome database e metadati</returns>
|
||||
Task<Dictionary<string, DatabaseInfo>> GetDatabasesInfoAsync(string serverConnectionString, bool excludeSystemDatabases = true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Informazioni sul database
|
||||
/// </summary>
|
||||
public class DatabaseInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Nome del database
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Dimensione del database in MB
|
||||
/// </summary>
|
||||
public double SizeMB { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Data di creazione
|
||||
/// </summary>
|
||||
public System.DateTime CreationDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Stato del database (online, offline, ecc.)
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Proprietario del database
|
||||
/// </summary>
|
||||
public string Owner { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indica se è un database di sistema
|
||||
/// </summary>
|
||||
public bool IsSystemDatabase { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user