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 GwClientPayLogDao : IDisposable { public List GetClientIDPayLog(string clientSpid, int state, string clientID, out int recordCount, int pageSize, int pageIndex) { List list1 = new List(); recordCount = 0; StringBuilder stringBuilder = new StringBuilder(); List list2 = new List(); stringBuilder.Append(" FROM GW_CLIENT_PAYLOG WHERE CLIENT_ID=:CLIENT_ID "); list2.Add(new OracleParameter(":CLIENT_ID", (object) clientID)); if (!string.IsNullOrEmpty(clientSpid)) { list2.Add(new OracleParameter(":SpID", (object) clientSpid)); stringBuilder.Append(" and SP_ID=:SpID"); } if (state >= 0) { list2.Add(new OracleParameter(":STATE", (object) state)); stringBuilder.Append(" and STATE=:STATE"); } stringBuilder.Append(" ORDER BY PAYLOG_ID DESC"); using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT count(*) as count" + (object) stringBuilder, OracleHelper.Connection, list2.ToArray())) { while (((DbDataReader) reader).Read()) recordCount = this.ReadCount(reader); } using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "SELECT * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, list2.ToArray())) { while (reader != null && ((DbDataReader) reader).Read()) { GwClientPayLog o = new GwClientPayLog(); if (this.ReadInfo(reader, o)) list1.Add(o); } } return list1; } public bool UpdatePayState(GwClientPayLog o) { return OracleHelper.ExecuteSql("update GW_CLIENT_PAYLOG set STATE=:STATE,COMPPLETE_TIME=sysdate WHERE \r\nPAYLOG_ID=:PAYLOG_ID ", OracleHelper.Connection, new OracleParameter(":STATE", (object) o.State), new OracleParameter("PAYLOG_ID", (object) o.PayLogID)) > 0; } public GwClientPayLog GetPay(string payLogID) { GwClientPayLog o = new GwClientPayLog(); if (string.IsNullOrEmpty(payLogID) || string.Equals("0", payLogID)) return o; using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_CLIENT_PAYLOG where PAYLOG_ID=:PAYLOG_ID"), OracleHelper.Connection, new OracleParameter(":PAYLOG_ID", (object) payLogID))) { if (((DbDataReader) reader).Read()) { this.ReadInfo(reader, o); return o; } } return o; } public bool AddPayRecharge(GwClientPayLog o) { return OracleHelper.ExecuteSql("insert into GW_CLIENT_PAYLOG(PAYLOG_ID,SP_ID,CRATE_TIME,CLIENT_ID,RECEIVER_NAME,AMOUNT,BALANCE,PRICE,PAYMENT_ID,PAYMENT_NAME,STATE,REMARK) \r\nvalues(:PayLogID,:SPID,sysdate,:CLIENT_ID,:RECEIVER_NAME,:AMOUNT,:BALANCE,:PRICE,:PAYMENT_ID,:PAYMENT_NAME,0,:REMARK)", OracleHelper.Connection, new OracleParameter(":PayLogID", (object) o.PayLogID), new OracleParameter(":SPID", (object) o.SPID), new OracleParameter(":CLIENT_ID", (object) o.ClientID), new OracleParameter(":RECEIVER_NAME", (object) o.ReceiverName), new OracleParameter(":AMOUNT", (object) o.Amount), new OracleParameter(":BALANCE", (object) o.Balance), new OracleParameter(":PRICE", (object) o.Price), new OracleParameter(":PAYMENT_ID", (object) o.PayMentID), new OracleParameter(":PAYMENT_NAME", (object) o.PayMentName), new OracleParameter(":REMARK", (object) o.Remark)) > 0; } public int GetPayReChargeID() { int num = 0; DataTable dataTable = OracleHelper.Execute(" SELECT GW_CLIENT_PAYLOG_seq.nextval AS PAYLOGID FROM dual", OracleHelper.Connection); if (dataTable.Rows.Count > 0) num = TypeConvert.ToInt32((object) dataTable.Rows[0]["PAYLOGID"].ToString()); return num; } private bool ReadInfo(OracleDataReader reader, GwClientPayLog o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.PayLogID = oracleReaderWrapper.GetInt("PAYLOG_ID", 0); o.SPID = oracleReaderWrapper.GetString("SP_ID", ""); o.CrateTime = oracleReaderWrapper.GetDateTime("CRATE_TIME"); o.ComppLeteTime = oracleReaderWrapper.GetDateTime("COMPPLETE_TIME"); o.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", ""); o.ReceiverName = oracleReaderWrapper.GetString("RECEIVER_NAME", ""); o.Amount = oracleReaderWrapper.GetInt("AMOUNT", 0); o.Balance = oracleReaderWrapper.GetInt64("BALANCE", 0L); o.Price = oracleReaderWrapper.GetInt64("PRICE", 0L); o.PayMentID = oracleReaderWrapper.GetInt("PAYMENT_ID", 0); o.PayMentName = oracleReaderWrapper.GetString("PAYMENT_NAME", ""); o.State = oracleReaderWrapper.GetInt("STATE", 0); o.Remark = oracleReaderWrapper.GetString("REMARK", ""); return true; } private int ReadCount(OracleDataReader reader) { return new OracleReaderWrapper(reader).GetInt("count", 0); } public void Dispose() { } } }