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.

161 lines
7.0 KiB

1 year ago
  1. using Common;
  2. using Common.Helper;
  3. using Common.Model;
  4. using Common.Model.Resend;
  5. using log4net;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Data;
  9. namespace Repository.Resend
  10. {
  11. public class ResendRepository : IResendRepository
  12. {
  13. private readonly Dao _dao;
  14. private static readonly ILog Log = LogManager.GetLogger(typeof(ResendRepository));
  15. public ResendRepository()
  16. {
  17. _dao = new Dao();
  18. }
  19. public List<TranList> GetTransactionLists(DateFilterParams search, string customerId)
  20. {
  21. var dic = new Dictionary<string, string>
  22. {
  23. { "@CustomerId", _dao.FilterString(customerId) },
  24. { "@FromDate", _dao.FilterString(search.FromDate) },
  25. { "@ToDate", _dao.FilterString(search.ToDate) }
  26. };
  27. var sql = new Query("mobile_proc_resend", "tranList", dic).ToString();
  28. Log.Debug(sql);
  29. var dt = _dao.ExecuteDataTable(sql);
  30. var ls = new List<TranList>();
  31. foreach (DataRow dr in dt.Rows)
  32. {
  33. TranList tranHistoryResponse = new TranList()
  34. {
  35. SenderName = Convert.ToString(dr["SenderName"]),
  36. ReceiverName = Convert.ToString(dr["ReceiverName"]),
  37. TranId = Convert.ToString(dr["TranId"]),
  38. ControlNo = Convert.ToString(dr["ControlNo"]),
  39. CollAmount = Convert.ToString(dr["CollAmount"]),
  40. PayoutAmt = Utilities.ShowDecimal(Convert.ToString(dr["PayoutAmt"])),
  41. PCurr = Convert.ToString(dr["PCurr"]),
  42. CollCurr = Convert.ToString(dr["CollCurr"]),
  43. PayStatus = Convert.ToString(dr["PayStatus"]),
  44. PayoutMode = Convert.ToString(dr["PayoutMode"]),
  45. SendDate = Convert.ToString(dr["SendDate"]),
  46. PaidDate = Convert.ToString(dr["PaidDate"]),
  47. BankName = Convert.ToString(dr["BankName"]),
  48. };
  49. ls.Add(tranHistoryResponse);
  50. }
  51. return ls;
  52. }
  53. public JsonRxResponse GetRemitDetail(string id, out ExRateCalculateRequest exRateDetail, out MobileRemitRequest remitRequest, out ResendReceiverDetail receiverDetail)
  54. {
  55. ExRateCalculateRequest r = null;
  56. ResendReceiverDetail rd = null;
  57. MobileRemitRequest rr = null;
  58. var dic = new Dictionary<string, string>
  59. {
  60. { "@TranId", _dao.FilterString(id) }
  61. };
  62. var sql = new Query("mobile_proc_resend", "tranDetail", dic).ToString();
  63. Log.Debug(sql);
  64. var ds = _dao.ExecuteDataset(sql);
  65. if (ds.Tables.Count == 1)
  66. {
  67. var dt = ds.Tables[0];
  68. exRateDetail = null;
  69. receiverDetail = null;
  70. remitRequest = null;
  71. return new JsonRxResponse { ErrorCode = Convert.ToString(dt.Rows[0][0]), Msg = Convert.ToString(dt.Rows[0][1]) };
  72. }
  73. if (ds.Tables.Count > 3)
  74. {
  75. var dt = ds.Tables[1];
  76. var dt1 = ds.Tables[2];
  77. var dt2 = ds.Tables[3];
  78. if (dt.Rows.Count < 1 || dt1.Rows.Count < 1 || dt2.Rows.Count < 1)
  79. {
  80. exRateDetail = null;
  81. receiverDetail = null;
  82. remitRequest = null;
  83. return new JsonRxResponse { ErrorCode = "1", Msg = "Error fetching transaction detail." };
  84. }
  85. if (dt.Rows.Count > 0)
  86. {
  87. var dr = dt.Rows[0];
  88. r = new ExRateCalculateRequest()
  89. {
  90. pAgent = Convert.ToString(dr["pAgent"]),
  91. sCountry = Convert.ToString(dr["sCountry"]),
  92. pCountry = Convert.ToString(dr["pCountry"]),
  93. pCountryName = Convert.ToString(dr["pCountryName"]),
  94. sCurrency = Convert.ToString(dr["sCurrency"]),
  95. pCurrency = Convert.ToString(dr["pCurrency"]),
  96. cAmount = Convert.ToString(dr["cAmount"]),
  97. pAmount = Convert.ToString(dr["pAmount"]),
  98. serviceType = Convert.ToString(dr["serviceType"]),
  99. calcBy = Convert.ToString(dr["calcBy"]),
  100. payoutPartner = Convert.ToString(dr["PayOutPartner"])
  101. };
  102. }
  103. if (dt1.Rows.Count > 0)
  104. {
  105. var dr1 = dt1.Rows[0];
  106. rr = new MobileRemitRequest
  107. {
  108. User = Convert.ToString(dr1["User"]),
  109. SenderId = Convert.ToString(dr1["SenderId"]),
  110. ReceiverId = Convert.ToString(dr1["ReceiverId"]),
  111. DeliveryMethodId = Convert.ToString(dr1["DeliveryMethodId"]),
  112. PBranch = Convert.ToString(dr1["PBranch"]),
  113. PAgent = Convert.ToString(dr1["PAgent"]),
  114. PCurr = Convert.ToString(dr1["PCurr"]),
  115. CollCurr = Convert.ToString(dr1["CollCurr"]),
  116. CollAmt = Convert.ToString(dr1["CollAmt"]),
  117. PayoutAmt = Convert.ToString(dr1["PayoutAmt"]),
  118. TransferAmt = Convert.ToString(dr1["TransferAmt"]),
  119. RelWithSender = Convert.ToString(dr1["RelWithSender"]),
  120. PurposeOfRemittance = Convert.ToString(dr1["PurposeOfRemit"]),
  121. SourceOfFund = Convert.ToString(dr1["SourceOfFund"]),
  122. RState = Convert.ToString(dr1["RState"]),
  123. RLocation = Convert.ToString(dr1["RLocation"]),
  124. PayOutPartner = Convert.ToString(dr1["PayOutPartner"]),
  125. ReceiverAccountNo = Convert.ToString(dr1["ReceiverAccountNo"])
  126. };
  127. }
  128. if (dt2.Rows.Count > 0)
  129. {
  130. var dr2 = dt2.Rows[0];
  131. rd = new ResendReceiverDetail
  132. {
  133. rFullName = Convert.ToString(dr2["rFullName"]),
  134. rAddress = Convert.ToString(dr2["rAddress"]),
  135. rCountry = Convert.ToString(dr2["rCountry"]),
  136. rMobile = Convert.ToString(dr2["rMobile"]),
  137. rCountryCode = Convert.ToString(dr2["rCountryCode"]),
  138. deliveryMethod = Convert.ToString(dr2["deliveryMethod"]),
  139. pAgentName = Convert.ToString(dr2["pAgentName"])
  140. };
  141. }
  142. }
  143. exRateDetail = r;
  144. receiverDetail = rd;
  145. remitRequest = rr;
  146. return new JsonRxResponse { ErrorCode = "0", Msg = "detail fetched success" };
  147. }
  148. }
  149. }