代码生成器工具之六

来源:互联网 发布:快速排序算法实现代码 编辑:程序博客网 时间:2024/05/22 01:33

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 = &apos;true&apos;">  /// <summary>  /// 是否存在指定主键的数据  ///</summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);  }  </xsl:if>    <xsl:if test="TabelModel/HasLogicKey = &apos;true&apos;">  /// <summary>  /// 是否存在指定逻辑主键的数据  ///</summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;">  /// <summary>  /// 根据主键检索数据实体  /// </summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);  }  </xsl:if>    <xsl:if test="TabelModel/HasLogicKey = &apos;true&apos;">  /// <summary>  /// 根据逻辑主键检索数据实体  /// </summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;">  /// <summary>  /// 根据主键检索数据(DataRow)  /// </summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);  }  </xsl:if>    <xsl:if test="TabelModel/HasLogicKey = &apos;true&apos;">  /// <summary>  /// 根据逻辑主键检索数据(DataRow)  /// </summary>  <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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">&lt;</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">&gt;</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">&lt;</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">&gt;</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 = &apos;false&apos;">  #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 = &apos;true&apos;">  /// <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 = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = &apos;true&apos;][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>);  }  </xsl:if>    <xsl:if test="TabelModel/HasLogicKey = &apos;true&apos;">  /// <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 = &apos;true&apos;]">  /// <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 = &apos;true&apos;][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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 = &apos;true&apos;][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = &apos;true&apos;][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>


OK!写完了大家自己写个试试吧!(*^__^*)