/// ///Data Implemention Object ///BASIC CRUD CLASS FOR TABLE t_PublicNews ///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 PublicNews_base_Imp [Serializable] class PublicNews_base_Imp: BaseModel_Imp{ protected override void datarowToModel(DataRow dr, BaseModel obj) { if (dr != null ) { PublicNews_base tmpObj = (PublicNews_base)obj; if (dr.Table.Columns.Contains("id") && !(dr["id"] is DBNull)) { tmpObj.ID = Convert.ToInt32(dr["id"].ToString()); ; } if (dr.Table.Columns.Contains("news_title") && !(dr["news_title"] is DBNull)) { tmpObj._news_title = dr["news_title"].ToString() ; tmpObj._Onews_title = dr["news_title"].ToString() ; } if (dr.Table.Columns.Contains("news_content") && !(dr["news_content"] is DBNull)) { tmpObj._news_content = dr["news_content"].ToString() ; tmpObj._Onews_content = dr["news_content"].ToString() ; } if (dr.Table.Columns.Contains("news_alert") && !(dr["news_alert"] is DBNull)) { tmpObj._news_alert = Convert.ToBoolean(dr["news_alert"].ToString()); ; tmpObj._Onews_alert = Convert.ToBoolean(dr["news_alert"].ToString()); ; } if (dr.Table.Columns.Contains("news_authority") && !(dr["news_authority"] is DBNull)) { tmpObj._news_authority = Convert.ToInt32(dr["news_authority"].ToString()); ; tmpObj._Onews_authority = Convert.ToInt32(dr["news_authority"].ToString()); ; } if (dr.Table.Columns.Contains("news_startdate") && !(dr["news_startdate"] is DBNull)) { tmpObj._news_startdate = dr["news_startdate"].ToString() ; tmpObj._Onews_startdate = dr["news_startdate"].ToString() ; } if (dr.Table.Columns.Contains("news_endDate") && !(dr["news_endDate"] is DBNull)) { tmpObj._news_endDate = dr["news_endDate"].ToString() ; tmpObj._Onews_endDate = dr["news_endDate"].ToString() ; } if (dr.Table.Columns.Contains("dr") && !(dr["dr"] is DBNull)) { tmpObj._dr = Convert.ToBoolean(dr["dr"].ToString()); ; } if (dr.Table.Columns.Contains("create_time") && !(dr["create_time"] is DBNull)) { tmpObj._create_time = dr["create_time"].ToString() ; } if (dr.Table.Columns.Contains("lastmodified") && !(dr["lastmodified"] is DBNull)) { tmpObj._lastmodified = dr["lastmodified"].ToString() ; } } } protected override void CmdPrepare(SqlCommand oraCmd) { PublicNews_base tmpObj = (PublicNews_base)modelObj; switch (this._op_flag) { case (int)op_flag.add: _strSql = "INSERT INTO dbo.T_PUBLICNEWS({0}) VALUES({1} )"; _strSql = String.Format(_strSql, getFields(tmpObj), getValues(tmpObj)); break; case (int)op_flag.update: // _strSql = "UPDATE dbo.T_PUBLICNEWS SET NEWS_TITLE = @NEWS_TITLE,NEWS_CONTENT = @NEWS_CONTENT,NEWS_ALERT = @NEWS_ALERT,NEWS_AUTHORITY = @NEWS_AUTHORITY,NEWS_STARTDATE = @NEWS_STARTDATE,NEWS_ENDDATE = @NEWS_ENDDATE,LASTMODIFIED = getdate() WHERE ID = @ID"; _strSql = "UPDATE dbo.T_PUBLICNEWS {0} WHERE ID = @ID"; _strSql = String.Format(_strSql, getChangedFields(tmpObj) ); break; case (int)op_flag.delete: // _strSql = "UPDATE dbo.T_PUBLICNEWS SET DR =0 WHERE ID = @ID"; _strSql = "delete from dbo.T_PUBLICNEWS WHERE ID = @ID"; break; case (int)op_flag.getObj: _strSql = "SELECT * FROM dbo.T_PUBLICNEWS WHERE ID = @ID"; break; case (int)op_flag.queryAll: _strSql = "SELECT * FROM dbo.T_PUBLICNEWS WHERE DR =1 "; // if (this.rownumEnd >0 ) { // _strSql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM dbo.T_PUBLICNEWS WHERE DR =1 )AS SORTEDTB WHERE DR =1 AND sortNo BETWEEN @START AND @END"; } // _strSql += ";SELECT COUNT(*) FROM T_PUBLICNEWS WHERE DR =1"; break; case (int)op_flag.queryActived: _strSql = "SELECT * FROM dbo.T_PUBLICNEWS WHERE DR =1"; _strSql += ";SELECT COUNT(*) FROM T_PUBLICNEWS WHERE DR =1"; break; case (int)op_flag.getPk: _strSql = "SELECT MAX(ID) FROM dbo.T_PUBLICNEWS WHERE DR =1"; break; case (int) op_flag.getCount: _strSql = "SELECT COUNT(*) FROM T_PUBLICNEWS WHERE DR =1"; break; } oraCmd.CommandText = _strSql; fillParameters(oraCmd,tmpObj); } private string getFields(PublicNews_base tmpObj) { String colums =""; colums+= tmpObj._news_title == null ? "" : "NEWS_TITLE" + ","; colums+= tmpObj._news_content == null ? "" : "NEWS_CONTENT" + ","; colums+= tmpObj._news_alert == null ? "" : "NEWS_ALERT" + ","; colums+= tmpObj._news_authority == null ? "" : "NEWS_AUTHORITY" + ","; colums+= tmpObj._news_startdate == null ? "" : "NEWS_STARTDATE" + ","; colums+= tmpObj._news_endDate == null ? "" : "NEWS_ENDDATE" + ","; return colums.Substring(0,colums.Length -1) ; } private string getValues(PublicNews_base tmpObj) { String values =""; values+= tmpObj._news_title == null ? "" : "@NEWS_TITLE" + ","; values+= tmpObj._news_content == null ? "" : "@NEWS_CONTENT" + ","; values+= tmpObj._news_alert == null ? "" : "@NEWS_ALERT" + ","; values+= tmpObj._news_authority == null ? "" : "@NEWS_AUTHORITY" + ","; values+= tmpObj._news_startdate == null ? "" : "@NEWS_STARTDATE" + ","; values+= tmpObj._news_endDate == null ? "" : "@NEWS_ENDDATE" + ","; return values.Substring(0,values.Length -1) ; } private string getChangedFields(PublicNews_base tmpObj) { string updateFields = " set "; if (tmpObj._news_title !=null && tmpObj._news_title != tmpObj._Onews_title) { updateFields +="NEWS_TITLE = @NEWS_TITLE," ; } if (tmpObj._news_content !=null && tmpObj._news_content != tmpObj._Onews_content) { updateFields +="NEWS_CONTENT = @NEWS_CONTENT," ; } if (tmpObj._news_alert !=null && tmpObj._news_alert != tmpObj._Onews_alert) { updateFields +="NEWS_ALERT = @NEWS_ALERT," ; } if (tmpObj._news_authority !=null && tmpObj._news_authority != tmpObj._Onews_authority) { updateFields +="NEWS_AUTHORITY = @NEWS_AUTHORITY," ; } if (tmpObj._news_startdate !=null && tmpObj._news_startdate != tmpObj._Onews_startdate) { updateFields +="NEWS_STARTDATE = @NEWS_STARTDATE," ; } if (tmpObj._news_endDate !=null && tmpObj._news_endDate != tmpObj._Onews_endDate) { updateFields +="NEWS_ENDDATE = @NEWS_ENDDATE," ; } updateFields +="LASTMODIFIED = getdate()" ; return updateFields ; } private void fillParameters(SqlCommand oraCmd, PublicNews_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("@NEWS_TITLE", VerifyDbnull(tmpObj._news_title)) ; oraCmd.Parameters.AddWithValue("@NEWS_CONTENT", VerifyDbnull(tmpObj._news_content)) ; oraCmd.Parameters.AddWithValue("@NEWS_ALERT", VerifyDbnull(tmpObj._news_alert)) ; oraCmd.Parameters.AddWithValue("@NEWS_AUTHORITY", VerifyDbnull(tmpObj._news_authority)) ; oraCmd.Parameters.AddWithValue("@NEWS_STARTDATE", VerifyDbnull(tmpObj._news_startdate)) ; oraCmd.Parameters.AddWithValue("@NEWS_ENDDATE", VerifyDbnull(tmpObj._news_endDate)) ; // oraCmd.Parameters.AddWithValue("@LASTMODIFIED", "getdate()") ; return; case (int)op_flag.add: if(tmpObj._news_title!=null) oraCmd.Parameters.AddWithValue("@NEWS_TITLE", VerifyDbnull(tmpObj._news_title)) ; if(tmpObj._news_content!=null) oraCmd.Parameters.AddWithValue("@NEWS_CONTENT", VerifyDbnull(tmpObj._news_content)) ; if(tmpObj._news_alert!=null) oraCmd.Parameters.AddWithValue("@NEWS_ALERT", VerifyDbnull(tmpObj._news_alert)) ; if(tmpObj._news_authority!=null) oraCmd.Parameters.AddWithValue("@NEWS_AUTHORITY", VerifyDbnull(tmpObj._news_authority)) ; if(tmpObj._news_startdate!=null) oraCmd.Parameters.AddWithValue("@NEWS_STARTDATE", VerifyDbnull(tmpObj._news_startdate)) ; if(tmpObj._news_endDate!=null) oraCmd.Parameters.AddWithValue("@NEWS_ENDDATE", VerifyDbnull(tmpObj._news_endDate)) ; return; } } protected override enumDbInstance instance { get { return enumDbInstance.platForm; } } } #endregion }