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
 | |
| }
 | |
|    |