using Common.Helper; using Common.Model; using Common.Model.Inbound; using log4net; using System.Collections.Generic; namespace Repository.Inbound { public interface IInboundRepository { IList GetTransactionHistory(DateFilterParams filterParams, string userId); TranHistory GetTransactionDetail(string tranId, string userId); IList GetBankAccounts(string userId); DbResult DeleteInboundAccount(string account, string userId); } public class InboundRepository : IInboundRepository { private readonly Dao _dao = null; private static readonly ILog Log = LogManager.GetLogger(typeof(InboundRepository)); public InboundRepository() { _dao = new Dao(); } public IList GetTransactionHistory(DateFilterParams filterParams, string userId) { var sql = "EXEC INBOUND_PROC_MOBILE @flag='tranHistory'"; sql += ", @fromDate = " + _dao.FilterString(filterParams.FromDate); sql += ", @toDate = " + _dao.FilterString(filterParams.ToDate); sql += ", @userId = " + _dao.FilterString(userId); Log.DebugFormat("GetTransactionHistory SQL:{0}", sql); var ds = _dao.ExecuteDataTable(sql); var th = Mapper.DataTableToClass(ds); return th; } public TranHistory GetTransactionDetail(string tranId, string userId) { var sql = "EXEC INBOUND_PROC_MOBILE @flag='tranDetail'"; sql += ", @tranId = " + _dao.FilterString(tranId); sql += ", @userId = " + _dao.FilterString(userId); Log.DebugFormat("GetTransactionDetail SQL:{0}", sql); var ds = _dao.ExecuteDataRow(sql); var th = Mapper.DataRowToClass(ds); return th; } public IList GetBankAccounts(string userId) { var sql = "EXEC INBOUND_PROC_MOBILE @flag='bankAccounts'"; sql += ",@customerId = " + _dao.FilterString(userId); Log.DebugFormat("GetBankAccounts SQL:{0}", sql); var ds = _dao.ExecuteDataTable(sql); var th = Mapper.DataTableToClass(ds); return th; } public DbResult DeleteInboundAccount(string account, string userId) { var sql = "EXEC INBOUND_PROC_MOBILE @flag='deleteAccount'"; sql += ",@customerId = " + _dao.FilterString(userId); sql += ",@accountId = " + _dao.FilterString(account); Log.DebugFormat("DeleteInboundAccount SQL:{0}", sql); var ds = _dao.ParseDbResult(sql); return ds; } } }