ITemplate接口
代码
using System.Collections.Generic;
namespace FaibClass.TemplatePackage
{
/// <summary>
/// 模板接口。
/// </summary>
public interface ITemplate : BasePackage.IPackage
{
/// <summary>
/// 加载模板文件并构造一个生成器。
/// </summary>
/// <param name="fileName">模板文件名。</param>
/// <returns>生成器对象。</returns>
IBuilder LoadTemplate(string fileName);
/// <summary>
/// 获取所有模板文件。
/// </summary>
/// <returns>数据字典,Key:文件名,Value:文件路径。</returns>
Dictionary<string, string> GetTemplateFiles();
}
}
namespace FaibClass.TemplatePackage
{
/// <summary>
/// 模板接口。
/// </summary>
public interface ITemplate : BasePackage.IPackage
{
/// <summary>
/// 加载模板文件并构造一个生成器。
/// </summary>
/// <param name="fileName">模板文件名。</param>
/// <returns>生成器对象。</returns>
IBuilder LoadTemplate(string fileName);
/// <summary>
/// 获取所有模板文件。
/// </summary>
/// <returns>数据字典,Key:文件名,Value:文件路径。</returns>
Dictionary<string, string> GetTemplateFiles();
}
}
IBuilder接口
代码
using FaibClass.SourcePackage;
namespace FaibClass.TemplatePackage
{
/// <summary>
/// 代码创建接口。
/// </summary>
public interface IBuilder
{
/// <summary>
/// 生成代码。
/// </summary>
/// <param name="tables">要生成的表集合。</param>
/// <param name="enums">要生成的枚举集合。</param>
/// <param name="save">是否保存到文件。</param>
/// <param name="outputFolder">输出的路径</param>
/// <returns>生成结果。</returns>
BuildResult Build(Collection<ITable> tables, Collection<DbEnum> enums, bool save, string outputFolder);
/// <summary>
/// 转换数据类型。
/// </summary>
/// <param name="dbType">源类型。</param>
/// <param name="sourceType">源数据类型。</param>
/// <returns>代码数据类型。</returns>
string ConvertDbType(string dbType, string sourceType);
/// <summary>
/// 生成表代码时触发事件。
/// </summary>
event BuildProgressChangedEventHandler BuildProgressChanged;
/// <summary>
/// 停止生成进程。
/// </summary>
void Stop();
/// <summary>
/// 语言类别。
/// </summary>
LanguageType Language { get; }
/// <summary>
/// 生成器名称。
/// </summary>
string Name { get; }
/// <summary>
/// 文件名。
/// </summary>
string FileName { get; }
/// <summary>
/// 对生成器进行修改。
/// </summary>
/// <returns>是否修改成功。</returns>
bool Edit();
/// <summary>
/// 重新加载。
/// </summary>
void Reload();
/// <summary>
/// 验证内容。
/// </summary>
/// <param name="content"></param>
void Validate(string content);
}
}
namespace FaibClass.TemplatePackage
{
/// <summary>
/// 代码创建接口。
/// </summary>
public interface IBuilder
{
/// <summary>
/// 生成代码。
/// </summary>
/// <param name="tables">要生成的表集合。</param>
/// <param name="enums">要生成的枚举集合。</param>
/// <param name="save">是否保存到文件。</param>
/// <param name="outputFolder">输出的路径</param>
/// <returns>生成结果。</returns>
BuildResult Build(Collection<ITable> tables, Collection<DbEnum> enums, bool save, string outputFolder);
/// <summary>
/// 转换数据类型。
/// </summary>
/// <param name="dbType">源类型。</param>
/// <param name="sourceType">源数据类型。</param>
/// <returns>代码数据类型。</returns>
string ConvertDbType(string dbType, string sourceType);
/// <summary>
/// 生成表代码时触发事件。
/// </summary>
event BuildProgressChangedEventHandler BuildProgressChanged;
/// <summary>
/// 停止生成进程。
/// </summary>
void Stop();
/// <summary>
/// 语言类别。
/// </summary>
LanguageType Language { get; }
/// <summary>
/// 生成器名称。
/// </summary>
string Name { get; }
/// <summary>
/// 文件名。
/// </summary>
string FileName { get; }
/// <summary>
/// 对生成器进行修改。
/// </summary>
/// <returns>是否修改成功。</returns>
bool Edit();
/// <summary>
/// 重新加载。
/// </summary>
void Reload();
/// <summary>
/// 验证内容。
/// </summary>
/// <param name="content"></param>
void Validate(string content);
}
}