using Common;
using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Text;
namespace Dao
{
public class GwSpPrePatternDao : IDisposable
{
public GwSpPrePattern Get(string patternID)
{
GwSpPrePattern g = new GwSpPrePattern();
if (string.IsNullOrEmpty(patternID) || string.Equals("0", patternID))
return g;
using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_SP_PREPATTERN where PATTERN_ID=:PatternID"), OracleHelper.Connection, new OracleParameter(":PatternID", (object)patternID)))
{
if (((DbDataReader)reader).Read())
{
this.ReadInfo(reader, g);
return g;
}
}
return g;
}
private bool ReadInfo(OracleDataReader reader, GwSpPrePattern g)
{
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
g.PatternID = oracleReaderWrapper.GetInt("PATTERN_ID", 0);
g.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", "");
g.SpID = oracleReaderWrapper.GetString("SP_ID", "");
g.PatternContent = oracleReaderWrapper.GetString("PATTERN_CONTENT", "");
g.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
g.AuditTime = oracleReaderWrapper.GetDateTime("AUDIT_TIME");
g.AuditStatus = oracleReaderWrapper.GetInt("AUDIT_STATUS", 0);
g.AuditRemark = oracleReaderWrapper.GetString("AUDIT_REMARK", "");
g.OperateAccount = oracleReaderWrapper.GetString("OPERATE_ACCOUNT", "");
return true;
}
public bool UpdateSpPrePattern(int patternID, string spid, string patternContent)
{
return OracleHelper.ExecuteSql("update GW_SP_PREPATTERN set SP_ID=:SP_ID,PATTERN_CONTENT=:PATTERN_CONTENT where PATTERN_ID=:PATTERN_ID", OracleHelper.Connection, new OracleParameter(":SP_ID", (object)spid), new OracleParameter(":PATTERN_CONTENT", (object)patternContent), new OracleParameter(":PATTERN_ID", (object)patternID)) > 0;
}
public bool UpdateSpPrePatternStatus(int patternID, int auditStatus, string auditRemark, string operateAccount)
{
return OracleHelper.ExecuteSql("update GW_SP_PREPATTERN set AUDIT_STATUS=:AUDIT_STATUS,AUDIT_REMARK=:AUDIT_REMARK,OPERATE_ACCOUNT=:OPERATE_ACCOUNT,AUDIT_TIME=:AUDIT_TIME where PATTERN_ID=:PATTERN_ID", OracleHelper.Connection, new OracleParameter(":AUDIT_STATUS", (object)auditStatus), new OracleParameter(":AUDIT_REMARK", (object)auditRemark), new OracleParameter(":OPERATE_ACCOUNT", (object)operateAccount), new OracleParameter("AUDIT_TIME", (object)DateTime.Now), new OracleParameter(":PATTERN_ID", (object)patternID)) > 0;
}
public bool Add(GwSpPrePattern o)
{
return OracleHelper.ExecuteSql("INSERT INTO GW_SP_PREPATTERN\r\n (\r\n PATTERN_ID,CLIENT_ID,SP_ID,PATTERN_CONTENT,CREATE_TIME,AUDIT_STATUS\r\n )\r\n VALUES\r\n (\r\n GW_SP_PREPATTERN_SEQ.nextval,:CLIENT_ID,:SP_ID,:PATTERN_CONTENT,:CREATE_TIME,:AUDIT_STATUS\r\n )", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object)o.ClientID), new OracleParameter(":SP_ID", (object)o.SpID), new OracleParameter(":PATTERN_CONTENT", (object)o.PatternContent), new OracleParameter(":CREATE_TIME", (object)o.CreateTime), new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus)) > 0;
}
///
/// 自动审核的插入模板-暂时作废。
///
///
///
public bool AddAutoCheck(GwSpPrePattern o)
{
return OracleHelper.ExecuteSql("INSERT INTO GW_SP_PREPATTERN\r\n (\r\n PATTERN_ID,CLIENT_ID,SP_ID,PATTERN_CONTENT,CREATE_TIME,AUDIT_STATUS,Audit_Remark,Operate_Account,AUDIT_TIME \r\n )\r\n VALUES\r\n (\r\n GW_SP_PREPATTERN_SEQ.nextval,:CLIENT_ID,:SP_ID,:PATTERN_CONTENT,:CREATE_TIME,:AUDIT_STATUS,:Audit_Remark,:Operate_Account,:AUDIT_TIME\r\n )", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object)o.ClientID), new OracleParameter(":SP_ID", (object)o.SpID), new OracleParameter(":PATTERN_CONTENT", (object)o.PatternContent), new OracleParameter(":CREATE_TIME", (object)o.CreateTime), new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus),new OracleParameter(":Audit_Remark",(object)o.AuditRemark),new OracleParameter(":Operate_Account",(object)o.OperateAccount),new OracleParameter(":AUDIT_TIME",(object)o.AuditTime)) > 0;
}
public bool Delete(string patternID)
{
if (string.IsNullOrEmpty(patternID) || string.Equals("0", patternID))
return false;
return OracleHelper.ExecuteSql(string.Format("delete from GW_SP_PREPATTERN where PATTERN_ID=:PATTERN_ID"), OracleHelper.Connection, new OracleParameter(":PATTERN_ID", (object)patternID)) > 0;
}
public List GetSpPrePatternList(string spid, int auditStatus, string clientid, out int recordCount, int pageSize, int pageIndex)
{
recordCount = 0;
List list = new List();
try
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("from GW_SP_PREPATTERN where 1=1");
OracleParameter[] oracleParameterArray = new OracleParameter[4];
if (!string.IsNullOrEmpty(spid))
{
oracleParameterArray[0] = new OracleParameter(":SpID", (OracleDbType)126);
((DbParameter)oracleParameterArray[0]).Value = (object)('%' + spid + '%');
stringBuilder.Append(" and SP_ID like :SpID");
}
if (auditStatus >= 0)
{
oracleParameterArray[1] = new OracleParameter(":AuditStatus", (OracleDbType)112);
((DbParameter)oracleParameterArray[1]).Value = (object)auditStatus;
stringBuilder.Append(" and AUDIT_STATUS=:AuditStatus");
}
if (!string.IsNullOrEmpty(clientid))
{
oracleParameterArray[2] = new OracleParameter(":ClientID", (OracleDbType)126);
((DbParameter)oracleParameterArray[2]).Value = (object)('%' + clientid + '%');
stringBuilder.Append(" and CLIENT_ID like :ClientID");
}
stringBuilder.Append(" order by PATTERN_ID DESC");
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())
{
GwSpPrePattern g = new GwSpPrePattern();
if (this.ReadInfo(reader, g))
list.Add(g);
}
}
}
catch (Exception ex)
{
LogHelper.Error("GetSpPrePatternList ERROR:" + (object)ex, new object[0]);
return list;
}
return list;
}
//账号报备内容待审核统计
public List> GetSpPrePatternAudit(string permissionsSQL)
{
List> list = new List>();
StringBuilder builder = new StringBuilder();
builder.Append(" SELECT COUNT(1) COUNT FROM GW_SP_PREPATTERN WHERE Audit_Status =0 ");
builder.Append(permissionsSQL);
using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
{
while (reader != null && ((DbDataReader)reader).Read())
{
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
int count = oracleReaderWrapper.GetInt("COUNT", 0);
Dictionary map = new Dictionary();
map.Add("count", count);
list.Add(map);
}
}
return list;
}
private int ReadCount(OracleDataReader reader)
{
return new OracleReaderWrapper(reader).GetInt("count", 0);
}
public void Dispose()
{
}
}
}