using System.Collections.Generic; using Erp.SqlQueryManager.Domain.Shared; namespace Erp.SqlQueryManager.Domain.Services; /// /// Provides SQL templates for creating database objects /// public interface ISqlTemplateProvider { /// /// Get stored procedure template /// string GetStoredProcedureTemplate(string procedureName, string schemaName = "dbo"); /// /// Get view template /// string GetViewTemplate(string viewName, string schemaName = "dbo", bool withSchemaBinding = false); /// /// Get function template /// string GetFunctionTemplate(string functionName, SqlFunctionType functionType, string schemaName = "dbo"); /// /// Get query template with common patterns /// string GetQueryTemplate(string queryType); /// /// Get available query template types /// List GetAvailableQueryTemplates(); } public class QueryTemplateInfo { public string Type { get; set; } public string Name { get; set; } public string Description { get; set; } }