您的位置:首页 > 编程语言 > C#

[C#]一步一步开发自己的自动代码生成工具之六:业务层模板

2008-07-15 17:55 1031 查看
3。BLL模板
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Text;
using <xsl:value-of select="TabelModel/NameSpacePri"/>Model;
using <xsl:value-of select="TabelModel/NameSpacePri"/>DAL;
namespace <xsl:value-of select="TabelModel/NameSpacePri"/>BLL
{
public partial class <xsl:value-of select="TabelModel/ModelName"/>BLL
{
#region 属性/构造函数

/// <summary>
/// 数据链路访问对象
/// </summary>
private <xsl:value-of select="TabelModel/ModelName"/>DAL DAL = null;
/// <summary>
/// 默认构造函数
///</summary>
public <xsl:value-of select="TabelModel/ModelName"/>BLL()
{
DAL = new <xsl:value-of select="TabelModel/ModelName"/>DAL();
}

#endregion

#region 数据检测
<xsl:if test="TabelModel/HasPK = 'true'">
/// <summary>
/// 是否存在指定主键的数据
///</summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']">
/// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param>
</xsl:for-each>
/// <returns>True/False</returns>
public bool ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

<xsl:if test="TabelModel/HasLogicKey = 'true'">
/// <summary>
/// 是否存在指定逻辑主键的数据
///</summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']">
/// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param>
</xsl:for-each>
/// <returns>True/False</returns>
public bool ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>
/// <summary>
/// 是否存在满足指定条件的数据
///</summary>
/// <param name="strWhere">条件(不包含“Where”关键字)</param>
/// <returns>True/False</returns>
public bool ExistsWithParam(string strWhere)
{
return DAL.ExistsWithParam(strWhere);
}
#endregion
#region 数据检索

<xsl:if test="TabelModel/HasPK = 'true'">
/// <summary>
/// 根据主键检索数据实体
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns>检索结果</returns>
public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

<xsl:if test="TabelModel/HasLogicKey = 'true'">
/// <summary>
/// 根据逻辑主键检索数据实体
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns>检索结果</returns>
public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

/// <summary>
/// 根据条件检索数据实体
/// </summary>
/// <param name="strWhere">条件</param>
/// <returns>检索结果</returns>
public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(string strWhere)
{
return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(strWhere);
}

<xsl:if test="TabelModel/HasPK = 'true'">
/// <summary>
/// 根据主键检索数据(DataRow)
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns>检索结果</returns>
public DataRow GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

<xsl:if test="TabelModel/HasLogicKey = 'true'">
/// <summary>
/// 根据逻辑主键检索数据(DataRow)
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns>检索结果</returns>
public DataRow GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

/// <summary>
/// 根据条件检索数据(DataRow)
/// </summary>
/// <param name="strWhere">条件</param>
/// <returns>检索结果</returns>
public DataRow GetRowByParam(string strWhere)
{
return DAL.GetRowByParam(strWhere);
}
/// <summary>
/// 获取所有数据实体列表
/// </summary>
/// <returns>检索结果</returns>
public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>List()
{
return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>List();
}
/// <summary>
/// 根据条件检索数据实体列表
/// </summary>
/// <param name="strWhere">条件</param>
/// <returns>检索结果</returns>
public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(string strWhere)
{
return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(strWhere);
}
/// <summary>
/// 获取所有数据列表(DataTable)
/// </summary>
/// <returns>检索结果</returns>
public DataTable GetTable()
{
return DAL.GetTableByParam(String.Empty);
}
/// <summary>
/// 根据条件获取数据列表(DataTable)
/// </summary>
/// <param name="strWhere">条件</param>
/// <returns>检索结果</returns>
public DataTable GetTableByParam(string strWhere)
{
return DAL.GetTableByParam(strWhere);
}
#endregion
<xsl:if test="TabelModel/IsView = 'false'">
#region 数据增/删/改
/// <summary>
/// 新增
///</summary>
/// <param name="model">数据实体</param>
/// <returns></returns>
public int Add<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model)
{
return DAL.Add<xsl:value-of select="TabelModel/ModelName"/>(model);
}
<xsl:if test="TabelModel/HasPK = 'true'">
/// <summary>
/// 编辑
/// </summary>
/// <param name="model">数据实体</param>
/// <returns></returns>
public int Update<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model)
{
return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>(model);
}
/// <summary>
/// 删除数据实体
/// </summary>
/// <param name="model">数据实体</param>
/// <returns></returns>
public int Delete<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model)
{
return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>(model);
}
/// <summary>
/// 根据主键删除
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns></returns>
public int DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

<xsl:if test="TabelModel/HasLogicKey = 'true'">
/// <summary>
/// 编辑(根据逻辑主键)
/// </summary>
/// <param name="model">数据实体</param>
/// <returns></returns>
public int Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model)
{
return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model);
}
/// <summary>
/// 删除数据实体(根据逻辑主键)
/// </summary>
/// <param name="model">数据实体</param>
/// <returns></returns>
public int Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model)
{
return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model);
}
/// <summary>
/// 根据逻辑主键删除
/// </summary>
<xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']">
/// <param>
<xsl:attribute name="name">
<xsl:value-of select="VarName"/>
</xsl:attribute>
<xsl:value-of select="VarName"/>
</param>
</xsl:for-each>
/// <returns></returns>
public int DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>)
{
return DAL.DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);
}
</xsl:if>

/// <summary>
/// 根据条件删除
/// </summary>
/// <param name="strWhere">条件</param>
/// <returns>删除条数</returns>
public int DeleteByParam(string strWhere)
{
return DAL.DeleteByParam(strWhere);
}

#endregion
</xsl:if>
}
}
</xsl:template>
</xsl:stylesheet>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐