2023-05-23 16:13:17 +08:00
/// <summary>
///Data Implemention Object
///BASIC CRUD CLASS FOR TABLE t_node
///By wm
2023-09-04 22:41:19 +08:00
///on 08/04/2023
2023-05-23 16:13:17 +08:00
/// </summary>
using System ;
using DeiNiu.Utils ;
using System.Data.SqlClient ;
using DeiNiu.Data.BaseObject ;
using System.Data ;
namespace DeiNiu.wms.Data.Model
{
#region Node_base_Imp
[Serializable] class Node_base_Imp : BaseModel_Imp {
protected override void datarowToModel ( DataRow dr , BaseModel obj )
{
if ( dr ! = null )
{
Node_base tmpObj = ( Node_base ) obj ;
if ( dr . Table . Columns . Contains ( "id" ) & & ! ( dr [ "id" ] is DBNull ) )
{
tmpObj . ID = Convert . ToInt32 ( dr [ "id" ] . ToString ( ) ) ; ;
}
if ( dr . Table . Columns . Contains ( "name" ) & & ! ( dr [ "name" ] is DBNull ) )
{
tmpObj . _name = dr [ "name" ] . ToString ( ) ;
2023-09-04 22:41:19 +08:00
tmpObj . _Oname = dr [ "name" ] . ToString ( ) ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "value" ) & & ! ( dr [ "value" ] is DBNull ) )
{
tmpObj . _value = dr [ "value" ] . ToString ( ) ;
2023-09-04 22:41:19 +08:00
tmpObj . _Ovalue = dr [ "value" ] . ToString ( ) ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "valueType" ) & & ! ( dr [ "valueType" ] is DBNull ) )
{
tmpObj . _valueType = Convert . ToInt32 ( dr [ "valueType" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _OvalueType = Convert . ToInt32 ( dr [ "valueType" ] . ToString ( ) ) ; ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "isOn" ) & & ! ( dr [ "isOn" ] is DBNull ) )
{
tmpObj . _isOn = Convert . ToBoolean ( dr [ "isOn" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _OisOn = Convert . ToBoolean ( dr [ "isOn" ] . ToString ( ) ) ; ;
// LogHelper.debug(this.GetType(), String.Format("1 tmpObj._isOn :{0}, tmpObj._OisOn :{1}", tmpObj._isOn,tmpObj._OisOn));
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "description" ) & & ! ( dr [ "description" ] is DBNull ) )
{
tmpObj . _description = dr [ "description" ] . ToString ( ) ;
2023-09-04 22:41:19 +08:00
tmpObj . _Odescription = dr [ "description" ] . ToString ( ) ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "parentid" ) & & ! ( dr [ "parentid" ] is DBNull ) )
{
tmpObj . _parentid = Convert . ToInt32 ( dr [ "parentid" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _Oparentid = Convert . ToInt32 ( dr [ "parentid" ] . ToString ( ) ) ; ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "flag" ) & & ! ( dr [ "flag" ] is DBNull ) )
{
tmpObj . _flag = Convert . ToInt32 ( dr [ "flag" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _Oflag = Convert . ToInt32 ( dr [ "flag" ] . ToString ( ) ) ; ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "isSystem" ) & & ! ( dr [ "isSystem" ] is DBNull ) )
{
tmpObj . _isSystem = Convert . ToBoolean ( dr [ "isSystem" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _OisSystem = Convert . ToBoolean ( dr [ "isSystem" ] . ToString ( ) ) ; ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "operater" ) & & ! ( dr [ "operater" ] is DBNull ) )
{
tmpObj . _operater = Convert . ToInt32 ( dr [ "operater" ] . ToString ( ) ) ; ;
2023-09-04 22:41:19 +08:00
tmpObj . _Ooperater = Convert . ToInt32 ( dr [ "operater" ] . ToString ( ) ) ; ;
2023-05-23 16:13:17 +08:00
}
if ( dr . Table . Columns . Contains ( "lastmodified" ) & & ! ( dr [ "lastmodified" ] is DBNull ) )
{
tmpObj . _lastmodified = dr [ "lastmodified" ] . ToString ( ) ;
}
if ( dr . Table . Columns . Contains ( "createtime" ) & & ! ( dr [ "createtime" ] is DBNull ) )
{
tmpObj . _createtime = dr [ "createtime" ] . ToString ( ) ;
}
if ( dr . Table . Columns . Contains ( "dr" ) & & ! ( dr [ "dr" ] is DBNull ) )
{
tmpObj . _dr = Convert . ToBoolean ( dr [ "dr" ] . ToString ( ) ) ; ;
}
}
2023-09-04 22:41:19 +08:00
}
2023-05-23 16:13:17 +08:00
protected override void CmdPrepare ( SqlCommand oraCmd ) {
Node_base tmpObj = ( Node_base ) modelObj ;
switch ( this . _op_flag ) {
case ( int ) op_flag . add :
2023-09-04 22:41:19 +08:00
_strSql = "INSERT INTO dbo.T_NODE({0}) VALUES({1} )" ;
_strSql = String . Format ( _strSql , getFields ( tmpObj ) , getValues ( tmpObj ) ) ;
2023-05-23 16:13:17 +08:00
break ;
case ( int ) op_flag . update :
2023-09-04 22:41:19 +08:00
// _strSql = "UPDATE dbo.T_NODE SET NAME = @NAME,VALUE = @VALUE,VALUETYPE = @VALUETYPE,ISON = @ISON,DESCRIPTION = @DESCRIPTION,PARENTID = @PARENTID,FLAG = @FLAG,ISSYSTEM = @ISSYSTEM,OPERATER = @OPERATER,LASTMODIFIED = getdate() WHERE ID = @ID";
_strSql = "UPDATE dbo.T_NODE {0} WHERE ID = @ID" ;
_strSql = String . Format ( _strSql , getChangedFields ( tmpObj ) ) ;
LogHelper . debug ( this . GetType ( ) , _strSql ) ;
2023-05-23 16:13:17 +08:00
break ;
case ( int ) op_flag . delete :
// _strSql = "UPDATE dbo.T_NODE SET DR =0 WHERE ID = @ID";
_strSql = "delete from dbo.T_NODE WHERE ID = @ID" ;
break ;
case ( int ) op_flag . getObj :
_strSql = "SELECT * FROM dbo.T_NODE WHERE ID = @ID" ;
break ;
case ( int ) op_flag . queryAll :
_strSql = "SELECT * FROM dbo.T_NODE WHERE DR =1 " ;
2023-09-04 22:41:19 +08:00
// if (this.rownumEnd >0 )
2023-05-23 16:13:17 +08:00
{
2023-09-04 22:41:19 +08:00
// _strSql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM dbo.T_NODE WHERE DR =1 )AS SORTEDTB WHERE DR =1 AND sortNo BETWEEN @START AND @END";
2023-05-23 16:13:17 +08:00
}
2023-09-04 22:41:19 +08:00
// _strSql += ";SELECT COUNT(*) FROM T_NODE WHERE DR =1";
2023-05-23 16:13:17 +08:00
break ;
case ( int ) op_flag . queryActived :
_strSql = "SELECT * FROM dbo.T_NODE WHERE DR =1" ;
_strSql + = ";SELECT COUNT(*) FROM T_NODE WHERE DR =1" ;
break ;
case ( int ) op_flag . getPk :
_strSql = "SELECT MAX(ID) FROM dbo.T_NODE WHERE DR =1" ;
break ;
case ( int ) op_flag . getCount :
_strSql = "SELECT COUNT(*) FROM T_NODE WHERE DR =1" ;
break ;
}
oraCmd . CommandText = _strSql ;
fillParameters ( oraCmd , tmpObj ) ;
}
2023-09-04 22:41:19 +08:00
private string getFields ( Node_base tmpObj )
{
String colums = "" ;
colums + = tmpObj . _name = = null ? "" : "NAME" + "," ;
colums + = tmpObj . _value = = null ? "" : "VALUE" + "," ;
colums + = tmpObj . _valueType = = null ? "" : "VALUETYPE" + "," ;
colums + = tmpObj . _isOn = = null ? "" : "ISON" + "," ;
colums + = tmpObj . _description = = null ? "" : "DESCRIPTION" + "," ;
colums + = tmpObj . _parentid = = null ? "" : "PARENTID" + "," ;
colums + = tmpObj . _flag = = null ? "" : "FLAG" + "," ;
colums + = tmpObj . _isSystem = = null ? "" : "ISSYSTEM" + "," ;
colums + = tmpObj . _operater = = null ? "" : "OPERATER" + "," ;
return colums . Substring ( 0 , colums . Length - 1 ) ;
}
2023-05-23 16:13:17 +08:00
2023-09-04 22:41:19 +08:00
private string getValues ( Node_base tmpObj )
{
String values = "" ;
values + = tmpObj . _name = = null ? "" : "@NAME" + "," ;
values + = tmpObj . _value = = null ? "" : "@VALUE" + "," ;
values + = tmpObj . _valueType = = null ? "" : "@VALUETYPE" + "," ;
values + = tmpObj . _isOn = = null ? "" : "@ISON" + "," ;
values + = tmpObj . _description = = null ? "" : "@DESCRIPTION" + "," ;
values + = tmpObj . _parentid = = null ? "" : "@PARENTID" + "," ;
values + = tmpObj . _flag = = null ? "" : "@FLAG" + "," ;
values + = tmpObj . _isSystem = = null ? "" : "@ISSYSTEM" + "," ;
values + = tmpObj . _operater = = null ? "" : "@OPERATER" + "," ;
return values . Substring ( 0 , values . Length - 1 ) ;
}
private string getChangedFields ( Node_base tmpObj )
{
string updateFields = " set " ;
LogHelper . debug ( this . GetType ( ) , String . Format ( "getChangedFields... tmpObj._name :{0},tmpObj._Oname :{1}, is changed? : {2}" , tmpObj . _name , tmpObj . _Oname , tmpObj . _name ! = null & & tmpObj . _name ! = tmpObj . _Oname ) ) ;
if ( tmpObj . _name ! = null & & tmpObj . _name ! = tmpObj . _Oname )
{
updateFields + = "NAME = @NAME," ;
}
if ( tmpObj . _value ! = null & & tmpObj . _value ! = tmpObj . _Ovalue )
{
updateFields + = "VALUE = @VALUE," ;
}
if ( tmpObj . _valueType ! = null & & tmpObj . _valueType ! = tmpObj . _OvalueType )
{
updateFields + = "VALUETYPE = @VALUETYPE," ;
}
LogHelper . debug ( this . GetType ( ) , String . Format ( "getChangedFields... tmpObj._isOn :{0}, tmpObj._OisOn :{1}, is changed? : {2}" , tmpObj . _isOn , tmpObj . _OisOn , tmpObj . _isOn ! = null & & tmpObj . _isOn ! = tmpObj . _OisOn ) ) ;
if ( tmpObj . _isOn ! = null & & tmpObj . _isOn ! = tmpObj . _OisOn )
{
LogHelper . debug ( this . GetType ( ) , "更新 isOn" ) ;
updateFields + = "ISON = @ISON," ;
}
else
{
LogHelper . debug ( this . GetType ( ) , "更新 isOn" ) ;
}
if ( tmpObj . _description ! = null & & tmpObj . _description ! = tmpObj . _Odescription )
{
updateFields + = "DESCRIPTION = @DESCRIPTION," ;
}
if ( tmpObj . _parentid ! = null & & tmpObj . _parentid ! = tmpObj . _Oparentid )
{
updateFields + = "PARENTID = @PARENTID," ;
}
if ( tmpObj . _flag ! = null & & tmpObj . _flag ! = tmpObj . _Oflag )
{
updateFields + = "FLAG = @FLAG," ;
}
if ( tmpObj . _isSystem ! = null & & tmpObj . _isSystem ! = tmpObj . _OisSystem )
{
updateFields + = "ISSYSTEM = @ISSYSTEM," ;
}
if ( tmpObj . _operater ! = null & & tmpObj . _operater ! = tmpObj . _Ooperater )
{
updateFields + = "OPERATER = @OPERATER," ;
}
updateFields + = "LASTMODIFIED = getdate()" ;
return updateFields ;
}
2023-05-23 16:13:17 +08:00
private void fillParameters ( SqlCommand oraCmd , Node_base 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 :
2023-09-04 22:41:19 +08:00
oraCmd . Parameters . AddWithValue ( "@ID" , tmpObj . ID ) ;
oraCmd . Parameters . AddWithValue ( "@NAME" , VerifyDbnull ( tmpObj . _name ) ) ;
oraCmd . Parameters . AddWithValue ( "@VALUE" , VerifyDbnull ( tmpObj . _value ) ) ;
oraCmd . Parameters . AddWithValue ( "@VALUETYPE" , VerifyDbnull ( tmpObj . _valueType ) ) ;
oraCmd . Parameters . AddWithValue ( "@ISON" , VerifyDbnull ( tmpObj . _isOn ) ) ;
oraCmd . Parameters . AddWithValue ( "@DESCRIPTION" , VerifyDbnull ( tmpObj . _description ) ) ;
oraCmd . Parameters . AddWithValue ( "@PARENTID" , VerifyDbnull ( tmpObj . _parentid ) ) ;
oraCmd . Parameters . AddWithValue ( "@FLAG" , VerifyDbnull ( tmpObj . _flag ) ) ;
oraCmd . Parameters . AddWithValue ( "@ISSYSTEM" , VerifyDbnull ( tmpObj . _isSystem ) ) ;
oraCmd . Parameters . AddWithValue ( "@OPERATER" , VerifyDbnull ( tmpObj . _operater ) ) ;
// oraCmd.Parameters.AddWithValue("@LASTMODIFIED", "getdate()") ;
return ;
case ( int ) op_flag . add :
if ( tmpObj . _name ! = null )
oraCmd . Parameters . AddWithValue ( "@NAME" , VerifyDbnull ( tmpObj . _name ) ) ;
if ( tmpObj . _value ! = null )
oraCmd . Parameters . AddWithValue ( "@VALUE" , VerifyDbnull ( tmpObj . _value ) ) ;
if ( tmpObj . _valueType ! = null )
oraCmd . Parameters . AddWithValue ( "@VALUETYPE" , VerifyDbnull ( tmpObj . _valueType ) ) ;
if ( tmpObj . _isOn ! = null )
oraCmd . Parameters . AddWithValue ( "@ISON" , VerifyDbnull ( tmpObj . _isOn ) ) ;
if ( tmpObj . _description ! = null )
oraCmd . Parameters . AddWithValue ( "@DESCRIPTION" , VerifyDbnull ( tmpObj . _description ) ) ;
if ( tmpObj . _parentid ! = null )
oraCmd . Parameters . AddWithValue ( "@PARENTID" , VerifyDbnull ( tmpObj . _parentid ) ) ;
if ( tmpObj . _flag ! = null )
oraCmd . Parameters . AddWithValue ( "@FLAG" , VerifyDbnull ( tmpObj . _flag ) ) ;
if ( tmpObj . _isSystem ! = null )
oraCmd . Parameters . AddWithValue ( "@ISSYSTEM" , VerifyDbnull ( tmpObj . _isSystem ) ) ;
if ( tmpObj . _operater ! = null )
oraCmd . Parameters . AddWithValue ( "@OPERATER" , VerifyDbnull ( tmpObj . _operater ) ) ;
return ;
2023-05-23 16:13:17 +08:00
}
2023-09-04 22:41:19 +08:00
2023-05-23 16:13:17 +08:00
}
protected override enumDbInstance instance
{
get
{
return enumDbInstance . wms ;
}
}
}
#endregion
}