ldj/codeSmith/basicImplements.cst

200 lines
9.0 KiB
Plaintext
Raw Permalink Normal View History

2023-05-23 16:13:17 +08:00
<%@ CodeTemplate Language="C#" TargetLanguage="Text" Description="This template demonstrates using properties defined in external assemblies." %>
<%@ Property Name="SourceDatabase" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Database that the documentation should be based on." %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="The table to use for this sample." %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<script runat="template">
<!-- #include file="scripts.cs" -->
String[] ignoredCols = new String[]{"ID","DR","OPERATER","LASTMODIFIED"};
</script>
/// <summary>
///Data Implemention Object
///BASIC CRUD CLASS FOR TABLE <%=this.SourceTable.Name%>
///By wm
///on <%= DateTime.Now.ToString("MM/dd/yyyy")%>
/// </summary>
using System;
using DeiNiu.Utils;
using System.Data.SqlClient;
using DeiNiu.Data.BaseObject;
using System.Data;
namespace DeiNiu.wms.Data.Model
{
#region <%= getObjClassName() %>_Imp
[Serializable] class <%= getObjClassName() %>_Imp: BaseModel_Imp{
protected override void datarowToModel(DataRow dr, BaseModel obj)
{
if (dr != null )
{
<%= getObjClassName() %> tmpObj = (<%= getObjClassName() %>)obj;
<% foreach (ColumnSchema column in this.SourceTable.Columns) { %>
if (dr.Table.Columns.Contains("<%= column.Name.ToString() %>") && !(dr["<%= column.Name.ToString() %>"] is DBNull))
{
tmpObj.<%= column.Name.ToString().ToUpper().Equals("ID") ? column.Name.ToString().ToUpper() : "_"+ column.Name %> = <% if(column.DataType.ToString().Equals("String") || column.DataType.ToString().Equals("AnsiString") || column.DataType.ToString().Equals("DateTime") || column.DataType.ToString().Equals("Date") ) {%> dr["<%= column.Name.ToString() %>"].ToString() <% } else {%> Convert.To<%= column.DataType %>(dr["<%= column.Name.ToString() %>"].ToString()); <% } %>;
<% if(!isIgnored(column)){%>
tmpObj.<%= column.Name.ToString().ToUpper().Equals("ID") ? column.Name.ToString().ToUpper() : "_O"+ column.Name %> = <% if(column.DataType.ToString().Equals("String") || column.DataType.ToString().Equals("AnsiString") || column.DataType.ToString().Equals("DateTime") || column.DataType.ToString().Equals("Date") ) {%> dr["<%= column.Name.ToString() %>"].ToString() <% } else {%> Convert.To<%= column.DataType %>(dr["<%= column.Name.ToString() %>"].ToString()); <% } %>;
<% }%>
}
<%
}
%>
}
}
protected override void CmdPrepare(SqlCommand oraCmd) {
<%= getObjClassName() %> tmpObj = (<%= getObjClassName() %>)modelObj;
switch (this._op_flag) {
case (int)op_flag.add:
_strSql = "INSERT INTO dbo.<%= getTableName() %>({0}) VALUES({1} )";
_strSql = String.Format(_strSql, getFields(tmpObj), getValues(tmpObj));
break;
case (int)op_flag.update:
// _strSql = "UPDATE dbo.<%= getTableName() %> SET <%= getColums4update()%> WHERE ID = @ID";
_strSql = "UPDATE dbo.<%= getTableName() %> {0} WHERE ID = @ID";
_strSql = String.Format(_strSql, getChangedFields(tmpObj) );
break;
case (int)op_flag.delete:
// _strSql = "UPDATE dbo.<%= getTableName() %> SET DR =0 WHERE ID = @ID";
_strSql = "delete from dbo.<%= getTableName() %> WHERE ID = @ID";
break;
case (int)op_flag.getObj:
_strSql = "SELECT * FROM dbo.<%= getTableName() %> WHERE ID = @ID";
break;
case (int)op_flag.queryAll:
_strSql = "SELECT * FROM dbo.<%= getTableName() %> WHERE DR =1 ";
// if (this.rownumEnd >0 )
{
// _strSql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM dbo.<%= getTableName()%> WHERE DR =1 )AS SORTEDTB WHERE DR =1 AND sortNo BETWEEN @START AND @END";
}
// _strSql += ";SELECT COUNT(*) FROM <%= getTableName() %> WHERE DR =1";
break;
case (int)op_flag.queryActived:
_strSql = "SELECT * FROM dbo.<%= getTableName() %> WHERE DR =1";
_strSql += ";SELECT COUNT(*) FROM <%= getTableName() %> WHERE DR =1";
break;
case (int)op_flag.getPk:
_strSql = "SELECT MAX(ID) FROM dbo.<%= getTableName() %> WHERE DR =1";
break;
case (int) op_flag.getCount:
_strSql = "SELECT COUNT(*) FROM <%= getTableName() %> WHERE DR =1";
break;
}
oraCmd.CommandText = _strSql;
fillParameters(oraCmd,tmpObj);
}
private string getFields(<%= getObjClassName() %> tmpObj)
{
String colums ="";
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
if(!isIgnored(column)){
%>
colums+= tmpObj.<%="_"+ column.Name %> == null ? "" : "<%=column.Name.ToUpper()%>" + ",";
<%
}}
%>
return colums.Substring(0,colums.Length -1) ;
}
private string getValues(<%= getObjClassName() %> tmpObj)
{
String values ="";
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
if(!isIgnored(column)){
%>
values+= tmpObj.<%="_"+ column.Name %> == null ? "" : "@<%=column.Name.ToUpper()%>" + ",";
<%
}}
%>
return values.Substring(0,values.Length -1) ;
}
private string getChangedFields(<%= getObjClassName() %> tmpObj)
{
string updateFields = " set ";
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
if(column.Name.ToString().ToUpper().Equals("LASTMODIFIED")){
%>
updateFields +="<%=column.Name.ToUpper()%> = getdate()" ;
<% } else if(!isIgnored(column)){%>
if (tmpObj.<%="_"+ column.Name %> != tmpObj.<%="_O"+ column.Name %>)
{
updateFields +="<%=column.Name.ToUpper()%> = @<%=column.Name.ToUpper()%>," ;
}
<%
}}
%>
return updateFields ;
}
private void fillParameters(SqlCommand oraCmd, <%= getObjClassName() %> tmpObj) {
switch (this._op_flag) {
case (int)op_flag.getObj:
case (int)op_flag.delete:
oraCmd.Parameters.AddWithValue("@ID", tmpObj.ID);
return;
case (int)op_flag.getPk:
oraCmd.Parameters.AddWithValue("@ID", tmpObj.ID);
return;
case (int)op_flag.queryAll:
if (this.rownumEnd > 0)
{
oraCmd.Parameters.AddWithValue("@START", this._rownumStart);
oraCmd.Parameters.AddWithValue("@END", this._rownumEnd);
}
return;
case 0:
case (int)op_flag.queryActived:
return;
case (int)op_flag.update:
oraCmd.Parameters.AddWithValue("@ID", tmpObj.ID);
<%
foreach (ColumnSchema column in this.SourceTable.Columns) {
if(column.Name.ToString().ToUpper().Equals("LASTMODIFIED")){
%>
// oraCmd.Parameters.AddWithValue("@<%=column.Name.ToUpper()%>", "getdate()") ;
<% } else if(!isIgnored(column)){%>
oraCmd.Parameters.AddWithValue("@<%=column.Name.ToUpper()%>", VerifyDbnull(tmpObj.<%="_"+ column.Name %>)) ;
<%
} }
%>
return;
case (int)op_flag.add:
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
if(!isIgnored(column)){
%>
if(tmpObj._<%=column.Name %>!=null)
oraCmd.Parameters.AddWithValue("@<%=column.Name.ToUpper()%>", VerifyDbnull(tmpObj.<%="_"+ column.Name %>)) ;
<%
}}
%>
return;
}
}
protected override enumDbInstance instance
{
get
{
return <%=getDbInstance()%>;
}
}
}
#endregion
}