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.

146 lines
6.0 KiB

  1. using System.Data;
  2. using Swift.DAL.SwiftDAL;
  3. namespace Swift.DAL.BL.Remit.CreditRiskManagement.CreditLimit
  4. {
  5. public class CreditLimitDao : RemittanceDao
  6. {
  7. public DbResult Update(string user, string crLimitId, string agentId, string currency, string limitAmt,
  8. string perTopUpAmt, string maxLimitAmt, string expiryDate, string todaysAddedMaxLimit,
  9. string perToupRequest, string maxTopupRequest)
  10. {
  11. string sql = "EXEC proc_creditLimit";
  12. sql += " @flag = " + (crLimitId == "0" || crLimitId == "" ? "'i'" : "'u'");
  13. sql += ", @user = " + FilterString(user);
  14. sql += ", @crLimitId = " + FilterString(crLimitId);
  15. sql += ", @agentId = " + FilterString(agentId);
  16. sql += ", @currency = " + FilterString(currency);
  17. sql += ", @limitAmt = " + FilterString(limitAmt);
  18. sql += ", @perTopUpAmt = " + FilterString(perTopUpAmt);
  19. sql += ", @maxLimitAmt = " + FilterString(maxLimitAmt);
  20. sql += ", @expiryDate = " + FilterString(expiryDate);
  21. sql += ", @todaysAddedMaxLimit = " + FilterString(todaysAddedMaxLimit);
  22. sql += ", @perToupRequest = " + FilterString(perToupRequest);
  23. sql += ", @maxTopupRequest = " + FilterString(maxTopupRequest);
  24. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  25. }
  26. public DbResult Delete(string user, string crLimitId)
  27. {
  28. string sql = "EXEC proc_creditLimit";
  29. sql += " @flag = 'd'";
  30. sql += ", @user = " + FilterString(user);
  31. sql += ", @crLimitId = " + FilterString(crLimitId);
  32. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  33. }
  34. public DataRow SelectById(string user, string crLimitId)
  35. {
  36. string sql = "EXEC proc_creditLimit";
  37. sql += " @flag = 'a'";
  38. sql += ", @user = " + FilterString(user);
  39. sql += ", @crLimitId = " + FilterString(crLimitId);
  40. DataSet ds = ExecuteDataset(sql);
  41. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  42. return null;
  43. return ds.Tables[0].Rows[0];
  44. }
  45. public DataSet LoadGrid(string user, string pageNumber, string pageSize, string sortBy,
  46. string sortOrder, string hasChanged, string agentName, string agentCountry, string agentDistrict)
  47. {
  48. var sql = "EXEC proc_creditLimit @flag = 'simpleGrid'";
  49. sql += ", @user = " + FilterString(user);
  50. sql += ", @pageNumber = " + FilterString(pageNumber);
  51. sql += ", @pageSize = " + FilterString(pageSize);
  52. sql += ", @sortBy = " + FilterString(sortBy);
  53. sql += ", @sortOrder = " + FilterString(sortOrder);
  54. sql += ", @hasChanged = " + FilterString(hasChanged);
  55. sql += ", @agentName = " + FilterString(agentName);
  56. sql += ", @agentCountry = " + FilterString(agentCountry);
  57. sql += ", @agentDistrict = " + FilterString(agentDistrict);
  58. return ExecuteDataset(sql);
  59. }
  60. public DataRow SelectAgentAcDetail(string user, string agentId)
  61. {
  62. string sql = "EXEC proc_creditLimit @flag = 'detail'";
  63. sql += ", @user = " + FilterString(user);
  64. sql += ", @agentId = " + FilterString(agentId);
  65. DataSet ds = ExecuteDataset(sql);
  66. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  67. return null;
  68. return ds.Tables[0].Rows[0];
  69. }
  70. public DataSet SelectCreditLimitAuthority(string user)
  71. {
  72. var sql = "EXEC proc_topUpLimit @flag = 'cla'";
  73. sql += ", @user = " + FilterString(user);
  74. DataSet ds = ExecuteDataset(sql);
  75. if (ds == null || ds.Tables.Count == 0)
  76. return null;
  77. return ds;
  78. }
  79. //Extra Limit Dao
  80. public DbResult UpdateExtraLimit(string user, string agentId, string todaysAddedMaxLimit)
  81. {
  82. string sql = "EXEC proc_extraLimit";
  83. sql += " @flag = 'i'";
  84. sql += ", @user = " + FilterString(user);
  85. sql += ", @agentId = " + FilterString(agentId);
  86. sql += ", @extraLimit = " + FilterString(todaysAddedMaxLimit);
  87. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  88. }
  89. public DataRow SelectByIdForExtraLimit(string user, string agentId)
  90. {
  91. string sql = "EXEC proc_extraLimit";
  92. sql += " @flag = 'a'";
  93. sql += ", @user = " + FilterString(user);
  94. sql += ", @agentId = " + FilterString(agentId);
  95. DataSet ds = ExecuteDataset(sql);
  96. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  97. return null;
  98. return ds.Tables[0].Rows[0];
  99. }
  100. public DataSet ShowPedningRequest(string user, string agentId)
  101. {
  102. var sql = "EXEC proc_extraLimit @flag='s1'";
  103. sql += ", @user = " + FilterString(user);
  104. sql += ", @agentId = " + FilterString(agentId);
  105. DataSet ds = ExecuteDataset(sql);
  106. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  107. return null;
  108. return ds;
  109. }
  110. public DbResult ApproveExtraLimit(string user, string id)
  111. {
  112. string sql = "EXEC proc_extraLimit";
  113. sql += " @flag = 'approve'";
  114. sql += ", @user = " + FilterString(user);
  115. sql += ", @rowId = " + FilterString(id);
  116. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  117. }
  118. public DbResult RejectExtraLimit(string user, string id)
  119. {
  120. string sql = "EXEC proc_extraLimit";
  121. sql += " @flag = 'reject'";
  122. sql += ", @user = " + FilterString(user);
  123. sql += ", @rowId = " + FilterString(id);
  124. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  125. }
  126. }
  127. }