using System.Collections.Generic; namespace Sozsoft.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. functionType: "Scalar" | "TableValued" | "InlineTableValued" /// string GetFunctionTemplate(string functionName, string functionType = "Scalar", 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; } }