/// ///Data Implemention Object ///BASIC CRUD CLASS FOR TABLE t_Lot ///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 Lot_base_Imp [Serializable] class Lot_base_Imp: BaseModel_Imp{ protected override void datarowToModel(DataRow dr, BaseModel obj) { if (dr != null ) { Lot_base tmpObj = (Lot_base)obj; if (dr.Table.Columns.Contains("ID") && !(dr["ID"] is DBNull)) { tmpObj.ID = Convert.ToInt32(dr["ID"].ToString()); ; } if (dr.Table.Columns.Contains("lotName") && !(dr["lotName"] is DBNull)) { tmpObj._lotName = dr["lotName"].ToString() ; tmpObj._OlotName = dr["lotName"].ToString() ; } 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("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) { Lot_base tmpObj = (Lot_base)modelObj; switch (this._op_flag) { case (int)op_flag.add: _strSql = "INSERT INTO dbo.T_LOT({0}) VALUES({1} )"; _strSql = String.Format(_strSql, getFields(tmpObj), getValues(tmpObj)); break; case (int)op_flag.update: // _strSql = "UPDATE dbo.T_LOT SET LOTNAME = @LOTNAME,DESCRIPTION = @DESCRIPTION,OPERATER = @OPERATER,LASTMODIFIED = getdate() WHERE ID = @ID"; _strSql = "UPDATE dbo.T_LOT {0} WHERE ID = @ID"; _strSql = String.Format(_strSql, getChangedFields(tmpObj) ); break; case (int)op_flag.delete: // _strSql = "UPDATE dbo.T_LOT SET DR =0 WHERE ID = @ID"; _strSql = "delete from dbo.T_LOT WHERE ID = @ID"; break; case (int)op_flag.getObj: _strSql = "SELECT * FROM dbo.T_LOT WHERE ID = @ID"; break; case (int)op_flag.queryAll: _strSql = "SELECT * FROM dbo.T_LOT WHERE DR =1 "; // if (this.rownumEnd >0 ) { // _strSql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM dbo.T_LOT WHERE DR =1 )AS SORTEDTB WHERE DR =1 AND sortNo BETWEEN @START AND @END"; } // _strSql += ";SELECT COUNT(*) FROM T_LOT WHERE DR =1"; break; case (int)op_flag.queryActived: _strSql = "SELECT * FROM dbo.T_LOT WHERE DR =1"; _strSql += ";SELECT COUNT(*) FROM T_LOT WHERE DR =1"; break; case (int)op_flag.getPk: _strSql = "SELECT MAX(ID) FROM dbo.T_LOT WHERE DR =1"; break; case (int) op_flag.getCount: _strSql = "SELECT COUNT(*) FROM T_LOT WHERE DR =1"; break; } oraCmd.CommandText = _strSql; fillParameters(oraCmd,tmpObj); } private string getFields(Lot_base tmpObj) { String colums =""; colums+= tmpObj._lotName == null ? "" : "LOTNAME" + ","; colums+= tmpObj._description == null ? "" : "DESCRIPTION" + ","; colums+= tmpObj._operater == null ? "" : "OPERATER" + ","; return colums.Substring(0,colums.Length -1) ; } private string getValues(Lot_base tmpObj) { String values =""; values+= tmpObj._lotName == null ? "" : "@LOTNAME" + ","; values+= tmpObj._description == null ? "" : "@DESCRIPTION" + ","; values+= tmpObj._operater == null ? "" : "@OPERATER" + ","; return values.Substring(0,values.Length -1) ; } private string getChangedFields(Lot_base tmpObj) { string updateFields = " set "; if (tmpObj._lotName !=null && tmpObj._lotName != tmpObj._OlotName) { updateFields +="LOTNAME = @LOTNAME," ; } if (tmpObj._description !=null && tmpObj._description != tmpObj._Odescription) { updateFields +="DESCRIPTION = @DESCRIPTION," ; } if (tmpObj._operater !=null && tmpObj._operater != tmpObj._Ooperater) { updateFields +="OPERATER = @OPERATER," ; } updateFields +="LASTMODIFIED = getdate()" ; return updateFields ; } private void fillParameters(SqlCommand oraCmd, Lot_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("@LOTNAME", VerifyDbnull(tmpObj._lotName)) ; oraCmd.Parameters.AddWithValue("@DESCRIPTION", VerifyDbnull(tmpObj._description)) ; oraCmd.Parameters.AddWithValue("@OPERATER", VerifyDbnull(tmpObj._operater)) ; // oraCmd.Parameters.AddWithValue("@LASTMODIFIED", "getdate()") ; return; case (int)op_flag.add: if(tmpObj._lotName!=null) oraCmd.Parameters.AddWithValue("@LOTNAME", VerifyDbnull(tmpObj._lotName)) ; if(tmpObj._description!=null) oraCmd.Parameters.AddWithValue("@DESCRIPTION", VerifyDbnull(tmpObj._description)) ; if(tmpObj._operater!=null) oraCmd.Parameters.AddWithValue("@OPERATER", VerifyDbnull(tmpObj._operater)) ; return; } } protected override enumDbInstance instance { get { return enumDbInstance.wms; } } } #endregion }