CodeSmith .NET 3層アーキテクチャテンプレート

13134 ワード

Modelテンプレートファイル:








/*------------------------------------------------
// File Name:Info.cs
// File Description: DataBase Entity
// Author:
// Create Time:
//------------------------------------------------*/

using System;

namespace .Model
{
   /// 
   /// Description 
   /// 
   [Serializable]
   public class Info
   {
  		#region Private Protery
  		
  		private  _;
  		
  		#endregion
  
  		#region Constructor	
  		/// 
  		///  Constructor
  		/// 
    	public Info()
    	{
    	}
		
  		/// 
  		///  Constructor With Parameters
  		/// 
  		
  		///0){%>
  		
  		public Info( ,)
  		{
  		
   		this._ = ;
  		
  		}
  		#endregion
    
  		#region Public Property
        
  		///
  		/// 0){%>
  		/// 
  		///
 		public  
  		{
  		get { return _; }
   		set {  _ = value; }
  		}
		
  		#endregion  
   }
}

public string CSharpType(ColumnSchema column)
{
 if (column.Name.EndsWith("TypeCode")) return column.Name;
 switch (column.DataType)
 {
  case DbType.AnsiString:
  case DbType.String:
  case DbType.StringFixedLength:
  case DbType.AnsiStringFixedLength: return "string";

  case DbType.VarNumeric:
  case DbType.Currency:
  case DbType.Decimal: return "decimal";

  case DbType.Binary: return "byte[]";
  case DbType.Boolean: return "bool";
  case DbType.Byte: return "byte";
  case DbType.Date: return "DateTime";
  case DbType.DateTime: return "DateTime";
  case DbType.Double: return "double";
  case DbType.Guid: return "Guid";
  case DbType.Int16: return "short";
  case DbType.Int32: return "int";
  case DbType.Int64: return "long";
  case DbType.Object: return "object";
  case DbType.SByte: return "sbyte";
  case DbType.Single: return "float";
  case DbType.Time: return "TimeSpan";
  case DbType.UInt16: return "ushort";
  case DbType.UInt32: return "uint";
  case DbType.UInt64: return "ulong";
  default:
  {
   return "__UNKNOWN__" + column.NativeType;
  }
 }
}
public string ClearPrefix(string name)
{
    int mIndex=name.IndexOf(TablePrefix);
    string strResult=name.Remove(0,TablePrefix.Length);
    return strResult;
}

IDALテンプレートファイル:








/*------------------------------------------------
// File Name:I.cs
// File Description: Interface
// Author:
// Create Time:
//------------------------------------------------*/

using System;
using System.Text;
using System.Collections.Generic;
using .Model;

namespace .IDAL
{
	/// 
    ///  Interface
    /// 
	public interface I
	{
		/// 
        /// Add 
        /// 
        ///  Model
        /// True or False
		bool Add(Info model);
		
		/// 
        /// Delete  By ID
        /// 
        ///  ID
        /// True or False
		bool DeleteByID(int id);
		
		/// 
        /// Delete  By Name
        /// 
        ///  Name
        /// True or False
		bool DeleteByName(string name);
		
		/// 
        /// Update 
        /// 
        ///  Model
        /// True or False
		bool Update(Info model);
		
		/// 
        /// Get  By ID
        /// 
        ///  ID
        ///  Model
		Info GetInfoByID(int id);
		
		/// 
        /// Get  By Name
        /// 
        ///  Name
        ///  Model
		Info GetInfoByName(string name);
		
		/// 
        /// Get  List
        /// 
        ///  List
		IList<Info> GetListByPage();
		
		/// 
        /// Check If  Exist
        /// 
		///  Name
        /// True or False
		bool IsExist(string name);
	}
}

public string ClearPrefix(string name)
{
    int mIndex=name.IndexOf(TablePrefix);
    string strResult=name.Remove(0,TablePrefix.Length);
    return strResult;
}

SQLServerDALテンプレートファイル:








/*------------------------------------------------
// File Name:.cs
// File Description: SQL Server DataBase Access
// Author:
// Create Time:
//------------------------------------------------*/

using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using .Model;
using .IDAL;

namespace .DAL
{
	/// 
    /// 
    /// 
	public class :I
	{
		public (){}
		
		#region  Interface Implement
		/// 
        /// Add 
        /// 
        ///  Model
        /// True or False
		public bool Add(Info model){
			SqlParameter[] param = new SqlParameter[];
        	
			param[] = new SqlParameter("@",model.);
  			
			
        	try
			{
				SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Add", param);
				return true;
			}catch
			{
				return false;
			}
		}
		
		/// 
        /// Delete  By ID
        /// 
        ///  ID
        /// True or False
		public bool DeleteByID(int id){
			SqlParameter[] param = new SqlParameter[1];
			param[0] = new SqlParameter("@id", id);
			try
			{
				SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_DelByID", param);
				return true;
			}catch
			{
				return false;
			}
		}
		
		/// 
        /// Delete  By Name
        /// 
        ///  Name
        /// True or False
		public bool DeleteByName(string name){
			SqlParameter[] param = new SqlParameter[1];
			param[0] = new SqlParameter("@name",name);
			try
			{
				SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_DelByName", param);
				return true;
			}catch
			{
				return false;
			}
		}
		
		/// 
        /// Update 
        /// 
        ///  Model
        /// True or False
		public bool Update(Info model){
			SqlParameter[] param = new SqlParameter[];
        	
			param[] = new SqlParameter("@",model.);
  			
        	try
			{
				SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Update", param);
				return true;
			}catch
			{
				return false;
			}
		}
		
		/// 
        /// Get  By ID
        /// 
        ///  ID
        ///  Model
		public Info GetInfoByID(int id){
			SqlParameter[] param = new SqlParameter[1];
			param[0] = new SqlParameter("@id", id);
			Info model = null;
            using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure,"SP_GetByID", param))
            {
                while (dr.Read())
                {
                    model = GetModel(dr);
                }
                return model;
            }
		}
		
		/// 
        /// Get  By Name
        /// 
        ///  Name
        ///  Model
		public Info GetInfoByName(string name){
			SqlParameter[] param = new SqlParameter[1];
			param[0] = new SqlParameter("@name", name);
			Info model = null;
            using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure,"SP_GetByName", param))
            {
                while (dr.Read())
                {
                    model = GetModel(dr);
                }
                return model;
            }
		}
		
		/// 
        /// Get  List
        /// 
        ///  List
		public IList<Info> GetListByPage(){
			using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure, "SP_GetListByPage", null))
            {
                IList<Info> list = new List<Info>();
                while(dr.Read())
                {
                    list.Add(GetModel(dr));
                }
                return list;
            }
		}
		
		/// 
        /// Check If  Exist
        /// 
		///  Name
        /// True or False
		public bool IsExist(string name){
			SqlParameter[] param = new SqlParameter[1];
			param[0] = new SqlParameter("@name", name);
			return Convert.ToBoolean(SQLHelper.ExecuteScalar(CommandType.StoredProcedure,"SP_IsExist", param));
		}
		#endregion
		
		#region Private Methods	
		private Info GetModel(SqlDataReader dr){
			Info model=new Info();
			
			model.=SQLDataHelper.(dr, "");
  			
			return model;
		}
		
		private IList<Info> GetList(SqlDataReader dr){
			IList<Info> list = new List<Info>();
            while (dr.Read())
            {
                list.Add(GetModel(dr));
            }
            return list;
		}
		#endregion
	}
}

public string CSharpType(ColumnSchema column)
{
 if (column.Name.EndsWith("TypeCode")) return column.Name;
 switch (column.DataType)
 {
  case DbType.AnsiString:
  case DbType.String:
  case DbType.StringFixedLength:
  case DbType.AnsiStringFixedLength: return "GetString";

  case DbType.Int16:
  case DbType.Int32:
  case DbType.Int64:
  case DbType.UInt16:
  case DbType.UInt32:
  case DbType.UInt64: return "GetInt";

  case DbType.Time:
  case DbType.Date:
  case DbType.DateTime: return "GetDateTime";

  case DbType.Binary:
  case DbType.SByte:
  case DbType.Byte: return "GetBytes";

  case DbType.VarNumeric:
  case DbType.Currency:
  case DbType.Decimal: return "GetDecimal";

  case DbType.Single:
  case DbType.Double: return "GetDouble";

  case DbType.Boolean: return "GetBoolean";
  case DbType.Guid: return "GetGuid";
  case DbType.Object: return "GetObject";
  default:
  {
   return "__UNKNOWN__" + column.NativeType;
  }
 }
}
public string ClearPrefix(string name)
{
    int mIndex=name.IndexOf(TablePrefix);
    string strResult=name.Remove(0,TablePrefix.Length);
    return strResult;
}

BLLテンプレートファイル:








/*------------------------------------------------
// File Name:BLL.cs
// File Description: Business Logic
// Author:
// Create Time:
//------------------------------------------------*/

using System;
using System.Text;
using System.Collections.Generic;
using .Model;
using .IDAL;

namespace .BLL
{
	/// 
    /// BLL
    /// 
	public class BLL
	{
		//Get  Entity Class from Factory Layer
        private static readonly I dal = .DALFactory.DataAccess.();
		
		/// 
        /// Add 
        /// 
        ///  Model
        /// True or False
		public bool Add(Info model){
			return dal.Add(model);
		}
		
		/// 
        /// Delete  By ID
        /// 
        ///  ID
        /// True or False
		public bool DeleteByID(int id){
			return dal.DeleteByID(id);
		}
		
		/// 
        /// Delete  By Name
        /// 
        ///  Name
        /// True or False
		public bool DeleteByName(string name){
			return dal.DeleteByName(name);
		}
		
		/// 
        /// Update 
        /// 
        ///  Model
        /// True or False
		public bool Update(Info model){
			return dal.Update(model);
		}
		
		/// 
        /// Get  By ID
        /// 
        ///  ID
        ///  Model
		public Info GetInfoByID(int id){
			return dal.GetInfoByID(id);
		}
		
		/// 
        /// Get  By Name
        /// 
        ///  Name
        ///  Model
		public Info GetInfoByName(string name){
			return dal.GetInfoByName(name);
		}
		
		/// 
        /// Get  List
        /// 
        ///  List
		public IList<Info> GetListByPage(){
			return dal.GetListByPage();
		}
		
		/// 
        /// Check If  Exist
        /// 
		///  Name
        /// True or False
		public bool IsExist(string name){
			return dal.IsExist(name);
		}
	}
}

public string ClearPrefix(string name)
{
    int mIndex=name.IndexOf(TablePrefix);
    string strResult=name.Remove(0,TablePrefix.Length);
    return strResult;
}