/// ///Data Implemention Object ///BASIC CRUD CLASS FOR TABLE t_node ///By wm ///on 08/04/2023 /// 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() ; tmpObj._Oname = dr["name"].ToString() ; } if (dr.Table.Columns.Contains("value") && !(dr["value"] is DBNull)) { tmpObj._value = dr["value"].ToString() ; tmpObj._Ovalue = dr["value"].ToString() ; } if (dr.Table.Columns.Contains("valueType") && !(dr["valueType"] is DBNull)) { tmpObj._valueType = Convert.ToInt32(dr["valueType"].ToString()); ; tmpObj._OvalueType = Convert.ToInt32(dr["valueType"].ToString()); ; } if (dr.Table.Columns.Contains("isOn") && !(dr["isOn"] is DBNull)) { tmpObj._isOn = Convert.ToBoolean(dr["isOn"].ToString()); ; tmpObj._OisOn = Convert.ToBoolean(dr["isOn"].ToString()); ; // LogHelper.debug(this.GetType(), String.Format("1 tmpObj._isOn :{0}, tmpObj._OisOn :{1}", tmpObj._isOn,tmpObj._OisOn)); } if (dr.Table.Columns.Contains("description") && !(dr["description"] is DBNull)) { tmpObj._description = dr["description"].ToString() ; tmpObj._Odescription = dr["description"].ToString() ; } if (dr.Table.Columns.Contains("parentid") && !(dr["parentid"] is DBNull)) { tmpObj._parentid = Convert.ToInt32(dr["parentid"].ToString()); ; tmpObj._Oparentid = Convert.ToInt32(dr["parentid"].ToString()); ; } if (dr.Table.Columns.Contains("flag") && !(dr["flag"] is DBNull)) { tmpObj._flag = Convert.ToInt32(dr["flag"].ToString()); ; tmpObj._Oflag = Convert.ToInt32(dr["flag"].ToString()); ; } if (dr.Table.Columns.Contains("isSystem") && !(dr["isSystem"] is DBNull)) { tmpObj._isSystem = Convert.ToBoolean(dr["isSystem"].ToString()); ; tmpObj._OisSystem = Convert.ToBoolean(dr["isSystem"].ToString()); ; } if (dr.Table.Columns.Contains("operater") && !(dr["operater"] is DBNull)) { tmpObj._operater = Convert.ToInt32(dr["operater"].ToString()); ; tmpObj._Ooperater = Convert.ToInt32(dr["operater"].ToString()); ; } 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()); ; } } } protected override void CmdPrepare(SqlCommand oraCmd) { Node_base tmpObj = (Node_base)modelObj; switch (this._op_flag) { case (int)op_flag.add: _strSql = "INSERT INTO dbo.T_NODE({0}) VALUES({1} )"; _strSql = String.Format(_strSql, getFields(tmpObj), getValues(tmpObj)); break; case (int)op_flag.update: // _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); 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 "; // if (this.rownumEnd >0 ) { // _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"; } // _strSql += ";SELECT COUNT(*) FROM T_NODE WHERE DR =1"; 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); } 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) ; } 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 ; } 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: 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; } } protected override enumDbInstance instance { get { return enumDbInstance.wms; } } } #endregion }