using Common;
using Model;
using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Text;
namespace Dao
{
public class GwMoRouteDao : IDisposable
{
///
/// 加载上行路由表信息
///
///
///
///
///
///
///
///
public List LoadInfoList(int OpID, string SpID, string AccessCode, out int recordcount, int PageIndex, int pageSize)
{
List list = new List();
recordcount = 0;
try
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("from GW_MO_ROUTE_VIEW where 1=1");
OracleParameter[] oracleParameterArray = new OracleParameter[3];
if (OpID > 0)
{
oracleParameterArray[0] = new OracleParameter(":OpID", (OracleDbType) 112);
((DbParameter) oracleParameterArray[0]).Value = (object) OpID;
stringBuilder.Append(" and OP_ID=:OpID");
}
if (SpID != null && SpID != "")
{
oracleParameterArray[1] = new OracleParameter(":SpID", (OracleDbType) 126);
((DbParameter) oracleParameterArray[1]).Value = (object) SpID;
stringBuilder.Append(" and SP_ID=:SpID");
}
if (AccessCode != null && AccessCode != "")
{
oracleParameterArray[2] = new OracleParameter(":AccessCode", (OracleDbType) 126);
((DbParameter) oracleParameterArray[2]).Value = (object) AccessCode;
stringBuilder.Append(" and INSTR(:AccessCode,ACCESS_CODE) = 1");
}
using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
{
while (((DbDataReader) reader).Read())
{
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
recordcount = oracleReaderWrapper.GetInt("count", 0);
}
}
stringBuilder.Append(" order by OP_ID ASC,ACCESS_CODE DESC,PRIORITY DESC");
using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray))
{
while (((DbDataReader) reader).Read())
{
GwMoRoute o = new GwMoRoute();
if (this.ReadInfo(reader, o))
list.Add(o);
}
}
}
catch (Exception ex)
{
LogHelper.Error(ex);
return list;
}
return list;
}
public List LoadInfoList()
{
List list = new List();
using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_MO_ROUTE", OracleHelper.Connection))
{
while (((DbDataReader) reader).Read())
{
GwMoRoute o = new GwMoRoute();
if (this.ReadInfo(reader, o))
list.Add(o);
}
}
return list;
}
private bool ReadInfo(OracleDataReader reader, GwMoRoute o)
{
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
o.RouteID = oracleReaderWrapper.GetInt("ROUTE_ID", 0);
o.Priority = oracleReaderWrapper.GetInt("PRIORITY", 0);
o.OpID = oracleReaderWrapper.GetInt("OP_ID", 0);
o.AccessCode = oracleReaderWrapper.GetString("ACCESS_CODE", "");
o.SpID = oracleReaderWrapper.GetString("SP_ID", "");
o.IsManual = oracleReaderWrapper.GetInt("IS_MANUAL", 0);
return true;
}
public bool Update(GwMoRoute o)
{
return OracleHelper.ExecuteSql("update GW_MO_ROUTE set PRIORITY=:PRIORITY,OP_ID=:OP_ID,ACCESS_CODE=:ACCESS_CODE,SP_ID=:SP_ID,IS_MANUAL=1 where ROUTE_ID=:ROUTE_ID", OracleHelper.Connection, new OracleParameter(":ROUTE_ID", (object) o.RouteID), new OracleParameter(":PRIORITY", (object) o.Priority), new OracleParameter(":OP_ID", (object) o.OpID), new OracleParameter(":ACCESS_CODE", (object) o.AccessCode), new OracleParameter(":SP_ID", (object) o.SpID)) > 0;
}
public bool Add(GwMoRoute o)
{
return OracleHelper.ExecuteSql("insert into GW_MO_ROUTE(ROUTE_ID,PRIORITY,OP_ID,ACCESS_CODE,SP_ID,IS_MANUAL) values(GW_MO_ROUTE_ID_SEQ.NEXTVAL,:PRIORITY,:OP_ID,:ACCESS_CODE,:SP_ID,1)", OracleHelper.Connection, new OracleParameter(":PRIORITY", (object) o.Priority), new OracleParameter(":OP_ID", (object) o.OpID), new OracleParameter(":ACCESS_CODE", (object) o.AccessCode), new OracleParameter(":SP_ID", (object) o.SpID)) > 0;
}
public GwMoRoute GetGwMoRoute(int rid)
{
GwMoRoute o = new GwMoRoute();
if (rid == 0)
return o;
using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_MO_ROUTE where ROUTE_ID=:ROUTE_ID"), OracleHelper.Connection, new OracleParameter(":ROUTE_ID", (object) rid)))
{
if (((DbDataReader) reader).Read())
{
if (!this.ReadInfo(reader, o))
throw new Exception("ReadInfo发生异常");
return o;
}
}
return o;
}
public bool Delete(int rid)
{
if (rid == 0)
return false;
return OracleHelper.ExecuteSql("delete from GW_MO_ROUTE where ROUTE_ID=:ROUTE_ID", OracleHelper.Connection, new OracleParameter(":ROUTE_ID", (object) rid)) > 0;
}
public bool LoadRefresh()
{
return OracleHelper.ExecuteSql("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'SMEXC','MO','',SYSDATE,0)", OracleHelper.Connection) > 0;
}
public void Dispose()
{
}
}
}