<%@ 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" %> /// ///Data Implemention Object ///BASIC CRUD CLASS FOR TABLE <%=this.SourceTable.Name%> ///By wm ///on <%= DateTime.Now.ToString("MM/dd/yyyy")%> /// 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 }