CodeSmith .NET 3層アーキテクチャテンプレート
13134 ワード
Modelテンプレートファイル:
IDALテンプレートファイル:
SQLServerDALテンプレートファイル:
BLLテンプレートファイル:
/*------------------------------------------------
// 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;
}