|
|
using Common;
|
using Oracle.DataAccess.Client;
|
using System;
|
using System.Collections.Generic;
|
using System.Data.Common;
|
|
namespace Dao
|
{
|
public class GwDiverterDao : IDisposable
|
{
|
public List<GwDiverter> LoadList()
|
{
|
List<GwDiverter> list = new List<GwDiverter>();
|
try
|
{
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("select * from GW_Diverter order by Diverter_id desc ", OracleHelper.Connection))
|
{
|
while (((DbDataReader)reader).Read())
|
{
|
GwDiverter diverter = new GwDiverter();
|
if (this.ReadInfo(reader, diverter))
|
list.Add(diverter);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Error(ex);
|
return list;
|
}
|
return list;
|
}
|
|
public List<GwDiverterItem> LoadItemList(string diverterID)
|
{
|
List<GwDiverterItem> list = new List<GwDiverterItem>();
|
try
|
{
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("select * from GW_DIVERTER_ITEM WHERE DIVERTER_ID=:DIVERTER_ID", OracleHelper.Connection, new OracleParameter(":DIVERTER_ID", (object)diverterID)))
|
{
|
while (((DbDataReader)reader).Read())
|
{
|
GwDiverterItem diverterItem = new GwDiverterItem();
|
if (this.ReadInfoItem(reader, diverterItem))
|
list.Add(diverterItem);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Error(ex);
|
return list;
|
}
|
return list;
|
}
|
|
private bool ReadInfo(OracleDataReader reader, GwDiverter diverter)
|
{
|
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
|
diverter.DiverterID = oracleReaderWrapper.GetInt("DIVERTER_ID", 0);
|
diverter.DiverterName = oracleReaderWrapper.GetString("DIVERTER_NAME", string.Empty);
|
diverter.Content = oracleReaderWrapper.GetString("CONTENT", "");
|
return true;
|
}
|
|
private bool ReadInfoItem(OracleDataReader reader, GwDiverterItem diverterItem)
|
{
|
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
|
diverterItem.Mode = oracleReaderWrapper.GetInt("DMODE", 0);
|
diverterItem.Keywords = oracleReaderWrapper.GetString("KEYWORDS", string.Empty);
|
diverterItem.SmMaxLength = oracleReaderWrapper.GetInt("SM_MAX_LENGTH", 0);
|
diverterItem.SmMinLength = oracleReaderWrapper.GetInt("SM_MIN_LENGTH", 0);
|
diverterItem.Segments = oracleReaderWrapper.GetString("SEGMENTS", string.Empty);
|
diverterItem.ExtNoMode = oracleReaderWrapper.GetString("EXTNO_MODE", string.Empty);
|
diverterItem.Province = oracleReaderWrapper.GetString("PROVINCE", string.Empty);
|
diverterItem.CMOPID = oracleReaderWrapper.GetInt("CM_OP_ID", 0);
|
diverterItem.CUOPID = oracleReaderWrapper.GetInt("CU_OP_ID", 0);
|
diverterItem.CTOPID = oracleReaderWrapper.GetInt("CT_OP_ID", 0);
|
diverterItem.CMExtNo = oracleReaderWrapper.GetString("CM_EXT_NO", "");
|
diverterItem.CUExtNo = oracleReaderWrapper.GetString("CU_EXT_NO", "");
|
diverterItem.CTExtNo = oracleReaderWrapper.GetString("CT_EXT_NO", "");
|
diverterItem.CMExtParams = oracleReaderWrapper.GetString("CM_EXT_PARAMS", "");
|
diverterItem.CTExtParams = oracleReaderWrapper.GetString("CU_EXT_PARAMS", "");
|
diverterItem.CUExtParams = oracleReaderWrapper.GetString("CT_EXT_PARAMS", "");
|
return true;
|
}
|
|
public void Dispose()
|
{
|
}
|
|
public GwDiverter GetEntity(string diverterID)
|
{
|
try
|
{
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("select * from GW_Diverter WHERE DIVERTER_ID=:DIVERTER_ID", OracleHelper.Connection, new OracleParameter(":DIVERTER_ID", (object)diverterID)))
|
{
|
while (((DbDataReader)reader).Read())
|
{
|
GwDiverter diverter = new GwDiverter();
|
if (this.ReadInfo(reader, diverter))
|
return diverter;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Error(ex);
|
}
|
return (GwDiverter)null;
|
}
|
|
public bool Exists(int diverterID, string diverterName)
|
{
|
return Convert.ToInt32(OracleHelper.ExecuteScalar("SELECT COUNT(*) FROM GW_DIVERTER WHERE DIVERTER_ID<>:DIVERTER_ID AND DIVERTER_NAME=:DIVERTER_NAME", OracleHelper.Connection, new OracleParameter(":DIVERTER_ID", (object)diverterID), new OracleParameter(":DIVERTER_NAME", (object)diverterName))) > 0;
|
}
|
|
public bool UpdateInfo(GwDiverter diverter, List<GwDiverterItem> items)
|
{
|
List<KeyValuePair<string, OracleParameter[]>> list = new List<KeyValuePair<string, OracleParameter[]>>();
|
if (diverter.DiverterID == 0)
|
{
|
diverter.DiverterID = Convert.ToInt32(OracleHelper.ExecuteScalar("SELECT GW_DIVERTER_SEQ.NEXTVAL FROM DUAL", OracleHelper.Connection));
|
string key = " INSERT INTO GW_DIVERTER(DIVERTER_ID,DIVERTER_NAME,CONTENT,CREATE_TIME) VALUES(:DIVERTER_ID,:DIVERTER_NAME,:CONTENT,SYSDATE)";
|
OracleParameter[] oracleParameterArray = new OracleParameter[3]
|
{
|
new OracleParameter(":DIVERTER_ID", (object) diverter.DiverterID),
|
new OracleParameter(":DIVERTER_NAME", (object) diverter.DiverterName),
|
new OracleParameter(":CONTENT", (object) diverter.Content)
|
};
|
list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
|
}
|
else
|
{
|
string key = "UPDATE GW_DIVERTER SET DIVERTER_NAME=:DIVERTER_NAME,CONTENT=:CONTENT WHERE DIVERTER_ID=:DIVERTER_ID";
|
OracleParameter[] oracleParameterArray = new OracleParameter[3]
|
{
|
new OracleParameter(":DIVERTER_NAME", (object) diverter.DiverterName),
|
new OracleParameter(":CONTENT", (object) diverter.Content),
|
new OracleParameter(":DIVERTER_ID", (object) diverter.DiverterID)
|
};
|
list.Add(new KeyValuePair<string, OracleParameter[]>(key, oracleParameterArray));
|
}
|
string key1 = "DELETE FROM GW_DIVERTER_ITEM WHERE DIVERTER_ID=:DIVERTER_ID";
|
OracleParameter[] oracleParameterArray1 = new OracleParameter[1]
|
{
|
new OracleParameter(":DIVERTER_ID", (object) diverter.DiverterID)
|
};
|
list.Add(new KeyValuePair<string, OracleParameter[]>(key1, oracleParameterArray1));
|
string key2 = "INSERT INTO GW_DIVERTER_ITEM(ITEM_ID, DIVERTER_ID, CM_OP_ID, CU_OP_ID, CT_OP_ID, CM_EXT_NO, CU_EXT_NO, CT_EXT_NO, CM_EXT_PARAMS, CU_EXT_PARAMS, CT_EXT_PARAMS, DMODE, SM_MAX_LENGTH, SM_MIN_LENGTH, SEGMENTS, KEYWORDS,PROVINCE,EXTNO_MODE) VALUES(GW_DIVERTER_ITEM_ID_SEQ.NEXTVAL, :DIVERTER_ID, :CM_OP_ID, :CU_OP_ID, :CT_OP_ID, :CM_EXT_NO, :CU_EXT_NO, :CT_EXT_NO, :CM_EXT_PARAMS, :CU_EXT_PARAMS, :CT_EXT_PARAMS, :DMODE, :SM_MAX_LENGTH, :SM_MIN_LENGTH, :SEGMENTS, :KEYWORDS,:PROVINCE,:EXTNO_MODE)";
|
foreach (GwDiverterItem gwDiverterItem in items)
|
{
|
OracleParameter[] oracleParameterArray2 = new OracleParameter[17]
|
{
|
new OracleParameter(":DIVERTER_ID", (object) diverter.DiverterID),
|
new OracleParameter(":CM_OP_ID", (object) gwDiverterItem.CMOPID),
|
new OracleParameter(":CU_OP_ID", (object) gwDiverterItem.CUOPID),
|
new OracleParameter(":CT_OP_ID", (object) gwDiverterItem.CTOPID),
|
new OracleParameter(":CM_EXT_NO", (object) gwDiverterItem.CMExtNo),
|
new OracleParameter(":CU_EXT_NO", (object) gwDiverterItem.CUExtNo),
|
new OracleParameter(":CT_EXT_NO", (object) gwDiverterItem.CTExtNo),
|
new OracleParameter(":CM_EXT_PARAMS", (object) gwDiverterItem.CMExtParams),
|
new OracleParameter(":CU_EXT_PARAMS", (object) gwDiverterItem.CUExtParams),
|
new OracleParameter(":CT_EXT_PARAMS", (object) gwDiverterItem.CTExtParams),
|
new OracleParameter(":DMODE", (object) gwDiverterItem.Mode),
|
new OracleParameter(":SM_MIN_LENGTH", (object) gwDiverterItem.SmMinLength),
|
new OracleParameter(":SM_MAX_LENGTH", (object) gwDiverterItem.SmMaxLength),
|
new OracleParameter(":SEGMENTS", (object) gwDiverterItem.Segments),
|
new OracleParameter(":KEYWORDS", (object) gwDiverterItem.Keywords),
|
new OracleParameter(":PROVINCE", (object) gwDiverterItem.Province),
|
new OracleParameter(":EXTNO_MODE", (object) gwDiverterItem.ExtNoMode)
|
};
|
list.Add(new KeyValuePair<string, OracleParameter[]>(key2, oracleParameterArray2));
|
}
|
OracleHelper.ExecuteSqlTran(list, OracleHelper.Connection);
|
return true;
|
}
|
|
public bool AddNew(GwDiverter diverter)
|
{
|
return OracleHelper.ExecuteSql("INSERT INTO GW_DIVERTER(DIVERTER_NAME,CONTENT,DIVERTER_ID) VALUES(:DIVERTER_NAME,:CONTENT,GW_DIVERTER_SEQ.NEXTVAL)", OracleHelper.Connection, new OracleParameter(":DIVERTER_NAME", (object)diverter.DiverterName), new OracleParameter(":CONTENT", (object)diverter.Content)) > 0;
|
}
|
|
public bool Delete(string diverterID)
|
{
|
return OracleHelper.ExecuteSql("DELETE FROM GW_DIVERTER WHERE DIVERTER_ID=:DIVERTER_ID", OracleHelper.Connection, new OracleParameter(":DIVERTER_ID", (object)diverterID)) > 0;
|
}
|
}
|
}
|