You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.7 KiB

1 year ago
  1. using Common.Helper;
  2. using Common.Model;
  3. using Common.Model.Inbound;
  4. using log4net;
  5. using System.Collections.Generic;
  6. namespace Repository.Inbound
  7. {
  8. public interface IInboundRepository
  9. {
  10. IList<TranHistory> GetTransactionHistory(DateFilterParams filterParams, string userId);
  11. TranHistory GetTransactionDetail(string tranId, string userId);
  12. IList<InboundBanks> GetBankAccounts(string userId);
  13. DbResult DeleteInboundAccount(string account, string userId);
  14. }
  15. public class InboundRepository : IInboundRepository
  16. {
  17. private readonly Dao _dao = null;
  18. private static readonly ILog Log = LogManager.GetLogger(typeof(InboundRepository));
  19. public InboundRepository()
  20. {
  21. _dao = new Dao();
  22. }
  23. public IList<TranHistory> GetTransactionHistory(DateFilterParams filterParams, string userId)
  24. {
  25. var sql = "EXEC INBOUND_PROC_MOBILE @flag='tranHistory'";
  26. sql += ", @fromDate = " + _dao.FilterString(filterParams.FromDate);
  27. sql += ", @toDate = " + _dao.FilterString(filterParams.ToDate);
  28. sql += ", @userId = " + _dao.FilterString(userId);
  29. Log.DebugFormat("GetTransactionHistory SQL:{0}", sql);
  30. var ds = _dao.ExecuteDataTable(sql);
  31. var th = Mapper.DataTableToClass<TranHistory>(ds);
  32. return th;
  33. }
  34. public TranHistory GetTransactionDetail(string tranId, string userId)
  35. {
  36. var sql = "EXEC INBOUND_PROC_MOBILE @flag='tranDetail'";
  37. sql += ", @tranId = " + _dao.FilterString(tranId);
  38. sql += ", @userId = " + _dao.FilterString(userId);
  39. Log.DebugFormat("GetTransactionDetail SQL:{0}", sql);
  40. var ds = _dao.ExecuteDataRow(sql);
  41. var th = Mapper.DataRowToClass<TranHistory>(ds);
  42. return th;
  43. }
  44. public IList<InboundBanks> GetBankAccounts(string userId)
  45. {
  46. var sql = "EXEC INBOUND_PROC_MOBILE @flag='bankAccounts'";
  47. sql += ",@customerId = " + _dao.FilterString(userId);
  48. Log.DebugFormat("GetBankAccounts SQL:{0}", sql);
  49. var ds = _dao.ExecuteDataTable(sql);
  50. var th = Mapper.DataTableToClass<InboundBanks>(ds);
  51. return th;
  52. }
  53. public DbResult DeleteInboundAccount(string account, string userId)
  54. {
  55. var sql = "EXEC INBOUND_PROC_MOBILE @flag='deleteAccount'";
  56. sql += ",@customerId = " + _dao.FilterString(userId);
  57. sql += ",@accountId = " + _dao.FilterString(account);
  58. Log.DebugFormat("DeleteInboundAccount SQL:{0}", sql);
  59. var ds = _dao.ParseDbResult(sql);
  60. return ds;
  61. }
  62. }
  63. }