using System.Collections.Generic; using System.Threading.Tasks; namespace Sozsoft.SqlQueryManager.Domain.Services; /// /// Result of SQL query execution /// public class SqlExecutionResult { public bool Success { get; set; } public string Message { get; set; } public IEnumerable Data { get; set; } public int RowsAffected { get; set; } public long ExecutionTimeMs { get; set; } public Dictionary Metadata { get; set; } public SqlExecutionResult() { Metadata = new Dictionary(); } } /// /// Service for executing T-SQL commands against configured data sources. /// public interface ISqlExecutorService { /// Execute a SELECT query and return results. Task ExecuteQueryAsync( string sql, string dataSourceCode, Dictionary parameters = null); /// Execute a non-query command (INSERT, UPDATE, DELETE, DDL). Task ExecuteNonQueryAsync( string sql, string dataSourceCode, Dictionary parameters = null); /// Execute scalar query (returns single value). Task ExecuteScalarAsync( string sql, string dataSourceCode, Dictionary parameters = null); /// Validate SQL syntax (basic validation). Task<(bool IsValid, string ErrorMessage)> ValidateSqlAsync(string sql); }