using Common; using Model; using Oracle.DataAccess.Client; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Text; namespace Dao { public class GwStrategyDao : IDisposable { public List LoadInfoList(string StrategyId, string StrategyName, out int recordcount, int pageSize, int PageIndex) { List list = new List(); recordcount = 0; try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from GW_STRATEGY where 1=1"); OracleParameter[] oracleParameterArray = new OracleParameter[2]; if (StrategyId != null && StrategyId != "") { oracleParameterArray[0] = new OracleParameter(":StrategyId", (OracleDbType)112); ((DbParameter)oracleParameterArray[0]).Value = (object)StrategyId; stringBuilder.Append(" and STRATEGY_ID=:StrategyId"); } if (StrategyName != null && StrategyName != "") { oracleParameterArray[1] = new OracleParameter(":StrategyName", (OracleDbType)126); ((DbParameter)oracleParameterArray[1]).Value = (object)StrategyName; stringBuilder.Append(" and STRATEGY_NAME like '%'||:StrategyName||'%'"); } using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader)reader).Read()) recordcount = this.ReadCount(reader); } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader)reader).Read()) { GwStrategy o = new GwStrategy(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } public List LoadInfoList(string StrategyId, string StrategyName) { List list = new List(); try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from GW_STRATEGY where 1=1"); OracleParameter[] oracleParameterArray = new OracleParameter[2]; if (StrategyId != null && StrategyId != "") { oracleParameterArray[0] = new OracleParameter(":StrategyId", (OracleDbType)112); ((DbParameter)oracleParameterArray[0]).Value = (object)StrategyId; stringBuilder.Append(" and STRATEGY_ID=:StrategyId"); } if (StrategyName != null && StrategyName != "") { oracleParameterArray[1] = new OracleParameter(":StrategyName", (OracleDbType)126); ((DbParameter)oracleParameterArray[1]).Value = (object)StrategyName; stringBuilder.Append(" and STRATEGY_NAME like '%'||:StrategyName||'%'"); } using (OracleDataReader reader = OracleHelper.ExecuteReader("select * " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader)reader).Read()) { GwStrategy o = new GwStrategy(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } public bool UpdateInfo(GwStrategy o) { return OracleHelper.ExecuteSql("update GW_STRATEGY set STRATEGY_NAME=:StrategyName,WORD_LIST=:WordList,PATTERN_LIST=:PatternList where STRATEGY_ID=:StrategyId", OracleHelper.Connection, new OracleParameter(":StrategyName", (object)o.StrategyName), new OracleParameter(":WordList", (OracleDbType)105, (object)o.WordList, ParameterDirection.Input), new OracleParameter(":PatternList", (object)o.PatternList), new OracleParameter(":StrategyId", (object)o.StrategyId)) > 0; } public bool InsertInfo(GwStrategy o) { return OracleHelper.ExecuteSql("insert into GW_STRATEGY(STRATEGY_ID,STRATEGY_NAME,WORD_LIST,PATTERN_LIST) values(GW_STRATEGY_SEQ.nextval,:StrategyName,:WordList,:PatternList)", OracleHelper.Connection, new OracleParameter(":StrategyName", (object)o.StrategyName), new OracleParameter(":WordList", (OracleDbType)105, (object)o.WordList, ParameterDirection.Input), new OracleParameter(":PatternList", (object)o.PatternList)) > 0; } public GwStrategy getObjById(string StrategyId) { GwStrategy o = new GwStrategy(); if (string.IsNullOrEmpty(StrategyId)) return o; using (OracleDataReader reader = OracleHelper.ExecuteReader("select * from GW_STRATEGY where STRATEGY_ID=:STRATEGY_ID", OracleHelper.Connection, new OracleParameter(":STRATEGY_ID", (object)StrategyId))) { if (((DbDataReader)reader).Read()) { if (!this.ReadInfo(reader, o)) throw new Exception("读取策略出错!"); return o; } } return o; } public bool hasId(string StrategyId) { if (string.IsNullOrEmpty(StrategyId) || string.Equals("0", StrategyId)) return true; try { using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_STRATEGY where STRATEGY_ID='{0}'", (object)StrategyId), OracleHelper.Connection)) { if (((DbDataReader)oracleDataReader).Read()) return true; } } catch (Exception ex) { LogHelper.Error(ex); return false; } return false; } public bool hasName(string StrategyName, string StrategyId) { if (string.IsNullOrEmpty(StrategyName) || string.Equals("0", StrategyName) || string.IsNullOrEmpty(StrategyId)) return true; try { using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_STRATEGY where STRATEGY_NAME='{0}' and STRATEGY_ID<>'{1}'", (object)StrategyName, (object)StrategyId), OracleHelper.Connection)) { if (((DbDataReader)oracleDataReader).Read()) return true; } } catch (Exception ex) { LogHelper.Error(ex); return false; } return false; } public bool hasName(string StrategyName) { if (string.IsNullOrEmpty(StrategyName) || string.Equals("0", StrategyName)) return true; try { using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from GW_STRATEGY where STRATEGY_NAME='{0}'", (object)StrategyName), OracleHelper.Connection)) { if (((DbDataReader)oracleDataReader).Read()) return true; } } catch (Exception ex) { LogHelper.Error(ex); return false; } return false; } public bool delById(string StrategyId) { if (string.IsNullOrEmpty(StrategyId) || string.Equals("0", StrategyId)) return false; try { return OracleHelper.ExecuteSql(string.Format("delete from GW_STRATEGY where STRATEGY_ID='{0}'", (object)StrategyId), OracleHelper.Connection) > 0; } catch (Exception ex) { LogHelper.Error(ex); return false; } } private bool ReadInfo(OracleDataReader reader, GwStrategy o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.StrategyId = oracleReaderWrapper.GetInt("STRATEGY_ID", 0); o.StrategyName = oracleReaderWrapper.GetString("STRATEGY_NAME", ""); o.WordList = oracleReaderWrapper.GetString("WORD_LIST", ""); o.PatternList = oracleReaderWrapper.GetString("PATTERN_LIST", ""); return true; } private int ReadCount(OracleDataReader reader) { int @int; try { @int = new OracleReaderWrapper(reader).GetInt("count", 0); } catch (Exception ex) { LogHelper.Error(ex); return 0; } return @int; } public void Dispose() { } } }