200 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			200 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ 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 | ||
|  | } | ||
|  |    |