📄 adzone.cs
字号:
namespace PowerEasy.SqlServerDal.AD
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Enumerations;
using PowerEasy.IDal.AD;
using PowerEasy.Model.AD;
using PowerEasy.SqlServerDal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.OleDb;
using System.Text;
public sealed class ADZone : IADZone
{
private int m_NumADZones;
public bool ActiveADZone(string id)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@strZoneId", DbType.String, id);
return DBHelper.ExecuteProc("PR_AD_ADZone_Active", cmdParams);
}
public bool Add(ADZoneInfo adZoneInfo)
{
Parameters cmdParams = GetParameters(adZoneInfo);
cmdParams.AddInParameter("@ZoneId", DbType.Int32, GetMaxADZoneId());
return DBHelper.ExecuteProc("PR_Ad_ADZone_ADD", cmdParams);
}
private static string BuildQuery(ADZoneSearchType listType, string keywords)
{
switch (listType)
{
case ADZoneSearchType.ZoneName:
return ("ZoneName like '%" + keywords + "%'");
case ADZoneSearchType.ZoneIntro:
return ("ZoneIntro like '%" + keywords + "%'");
}
return null;
}
public bool ClearADZone(int id)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ZoneId", DbType.Int32, id);
return DBHelper.ExecuteSql("DELETE FROM PE_Zone_Advertisement WHERE ZoneId=@ZoneId", cmdParams);
}
public bool CopyADZone(int id)
{
Database database = DatabaseFactory.CreateDatabase();
int maxADZoneId = GetMaxADZoneId();
string newJSName = this.GetNewJSName();
DbCommand sqlStringCommand = database.GetSqlStringCommand("INSERT INTO PE_AdZone SELECT @MaxId AS ZoneID,'复制'+Convert(Varchar,@MaxId)+ZoneName AS ZoneName,@ZoneJsName AS ZoneJSName,ZoneIntro,ZoneType,DefaultSetting,ZoneSetting,ZoneWidth,ZoneHeight,Active,ShowType,UpdateTime FROM PE_AdZone WHERE ZoneID=@ZoneId");
database.AddInParameter(sqlStringCommand, "@MaxId", DbType.Int32, maxADZoneId);
database.AddInParameter(sqlStringCommand, "@ZoneJsName", DbType.String, newJSName);
database.AddInParameter(sqlStringCommand, "@ZoneId", DbType.Int32, id);
bool flag = false;
try
{
if (database.ExecuteNonQuery(sqlStringCommand) > 0)
{
flag = true;
}
}
catch
{
flag = false;
}
return flag;
}
public bool Delete(string id)
{
string strSql = "DELETE FROM PE_AdZone WHERE ZoneId IN(" + id + ")";
DBHelper.ExecuteSql("DELETE FROM PE_Zone_Advertisement WHERE ZoneId IN(" + id + ")");
return DBHelper.ExecuteSql(strSql);
}
public bool ExportData(string zoneId, string importDatabase, bool chkFormatConn)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Ad_ADZone_GetExportList");
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + importDatabase);
if (chkFormatConn)
{
OleDbCommand command2 = new OleDbCommand("DELETE FROM [PE_AdZone]", connection);
command2.CommandType = CommandType.Text;
connection.Open();
try
{
command2.ExecuteNonQuery();
}
catch
{
return false;
}
finally
{
command2.Cancel();
connection.Close();
}
}
database.AddInParameter(storedProcCommand, "@ZoneID", DbType.String, zoneId);
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
connection.Open();
object obj2 = new OleDbCommand("select max(ZoneId) from PE_AdZone", connection).ExecuteScalar();
connection.Close();
int num = Convert.IsDBNull(obj2) ? 1 : (Convert.ToInt32(obj2) + 1);
bool flag = false;
while (reader.Read())
{
if (!flag)
{
flag = true;
}
else
{
num++;
}
OleDbCommand command4 = new OleDbCommand("INSERT INTO PE_AdZone (ZoneID,ZoneName,ZoneJSName,ZoneIntro,ZoneType,DefaultSetting,ZoneSetting,ZoneWidth,ZoneHeight,ShowType,Active) VALUES (@ZoneID,@ZoneName,@ZoneJSName,@ZoneIntro,@ZoneType,@DefaultSetting,@ZoneSetting,@ZoneWidth,@ZoneHeight,@ShowType,@Active)", connection);
try
{
OleDbParameter parameter = new OleDbParameter("@ZoneId", num);
OleDbParameter parameter2 = new OleDbParameter("@ZoneName", reader.GetString("ZoneName"));
OleDbParameter parameter3 = new OleDbParameter("@ZoneJSName", reader.GetString("ZoneJSName"));
OleDbParameter parameter4 = new OleDbParameter("@ZoneIntro", reader.GetString("ZoneIntro"));
OleDbParameter parameter5 = new OleDbParameter("@ZoneType", reader.GetInt32("ZoneType"));
OleDbParameter parameter6 = new OleDbParameter("@DefaultSetting", reader.GetBoolean("DefaultSetting"));
OleDbParameter parameter7 = new OleDbParameter("@ZoneSetting", reader.GetString("ZoneSetting"));
OleDbParameter parameter8 = new OleDbParameter("@ZoneWidth", reader.GetInt32("ZoneWidth"));
OleDbParameter parameter9 = new OleDbParameter("@ZoneHeight", reader.GetInt32("ZoneHeight"));
OleDbParameter parameter10 = new OleDbParameter("@ShowType", reader.GetInt32("ShowType"));
OleDbParameter parameter11 = new OleDbParameter("@Active", reader.GetBoolean("Active"));
command4.Parameters.Add(parameter);
command4.Parameters.Add(parameter2);
command4.Parameters.Add(parameter3);
command4.Parameters.Add(parameter4);
command4.Parameters.Add(parameter5);
command4.Parameters.Add(parameter6);
command4.Parameters.Add(parameter7);
command4.Parameters.Add(parameter8);
command4.Parameters.Add(parameter9);
command4.Parameters.Add(parameter10);
command4.Parameters.Add(parameter11);
connection.Open();
command4.ExecuteNonQuery();
continue;
}
catch
{
return false;
}
finally
{
command4.Clone();
connection.Close();
}
}
return true;
}
}
public ADZoneInfo GetADZoneById(int id)
{
Database database = DatabaseFactory.CreateDatabase();
DbCommand sqlStringCommand = database.GetSqlStringCommand("SELECT * FROM PE_AdZone WHERE ZoneId=@ZoneId");
database.AddInParameter(sqlStringCommand, "@ZoneId", DbType.Int32, id);
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(sqlStringCommand)))
{
if (reader.Read())
{
return GetAdZoneInfoFromrdr(reader);
}
return new ADZoneInfo(true);
}
}
private static ADZoneInfo GetAdZoneInfoFromrdr(NullableDataReader rdr)
{
ADZoneInfo info = new ADZoneInfo();
info.ZoneId = rdr.GetInt32("ZoneId");
info.ZoneName = rdr.GetString("ZoneName");
info.ZoneJSName = rdr.GetString("ZoneJSName");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -