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;
}
}
}