using System; using System.Collections.Generic; using System.Linq; using System.Text; using Common; using Model; using Oracle.ManagedDataAccess.Client; using System.Data; using System.Data.Common; namespace Dao { /// /// 携号转网 /// public class GwTransferDao:IDisposable { #region IDisposable 成员 public void Dispose() { } #endregion /// /// 加载 /// /// /// /// /// /// public List LoadInfoList(string phone, out int recordcount, int PageIndex, int pageSize) { List list = new List(); recordcount = 0; try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("from Gw_Transfer b where 1=1"); OracleParameter[] oracleParameterArray = new OracleParameter[1]; if (phone != null && phone != "") { oracleParameterArray[0] = new OracleParameter(":PHONE", (OracleDbType)126); ((DbParameter)oracleParameterArray[0]).Value = (object)phone; stringBuilder.Append(" and mobile like '%'||:PHONE||'%'"); } stringBuilder.Append(" order by Id DESC"); 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); } } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader)reader).Read()) { GwTransfer o = new GwTransfer(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } public bool Delete(int pid) { if (pid == 0) return false; DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("begin "); stringBuilder.Append("delete from Gw_Transfer where Id=:ID; "); stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'SMEXC','TRANSFER','',:DateTime,0); "); stringBuilder.Append("end; "); OracleParameter[] oracleParameterArray = new OracleParameter[2] { new OracleParameter(":ID", (object) pid), new OracleParameter(":DateTime",(object)dateTime) }; return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0; //return OracleHelper.ExecuteSql("delete from Gw_Transfer where Id=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)pid)) > 0; } public bool Add(GwTransfer o) { DateTime dateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("begin "); stringBuilder.Append("insert into Gw_Transfer(ID,MOBILE,Operator) values(GW_TRANSFER_ID_SEQ.NEXTVAL,:MOBILE,:Operator); "); stringBuilder.Append("INSERT INTO GW_EVENT_LOG(EVENT_ID,ASSIGNED_TO,EVENT_TYPE,CONTENT,EVENT_TIME,HANDLE_FLAG)VALUES(GW_EVENT_LOG_SEQ.NEXTVAL,'SMEXC','TRANSFER','',:DateTime,0); "); stringBuilder.Append("end; "); OracleParameter[] oracleParameterArray = new OracleParameter[3] { new OracleParameter(":MOBILE", (object) o.Mobile), new OracleParameter(":Operator", (object) o.Operator), new OracleParameter(":DateTime",(object)dateTime) }; return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray) > 0; //return OracleHelper.ExecuteSql("insert into Gw_Transfer(ID,MOBILE,Operator) values(GW_TRANSFER_ID_SEQ.NEXTVAL,:MOBILE,:Operator)", OracleHelper.Connection, new OracleParameter(":MOBILE", (object)o.Mobile), new OracleParameter(":Operator", (object)o.Operator)) > 0; } private bool ReadInfo(OracleDataReader reader, GwTransfer o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.Id = oracleReaderWrapper.GetInt("ID", 0); o.Mobile = oracleReaderWrapper.GetString("MOBILE", ""); o.Operator = oracleReaderWrapper.GetString("OPERATOR", ""); return true; } /// /// 判断号码是否存在 /// /// /// public bool IsExitsMobile(string pMobile) { using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader(string.Format("select * from Gw_Transfer where mobile=:MOBILE"), OracleHelper.Connection, new OracleParameter(":MOBILE", (object)pMobile))) { if (((DbDataReader)oracleDataReader).Read()) return true; } return false; } } }