using Common; using Model; using Oracle.DataAccess.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() { } } }