ldj/Model/platform/data/basic/PublicNews_base_Imp.cs

234 lines
12 KiB
C#

/// <summary>
///Data Implemention Object
///BASIC CRUD CLASS FOR TABLE t_PublicNews
///By wm
///on 08/04/2023
/// </summary>
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
}