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