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.

124 lines
4.6 KiB

  1. using Swift.API.TPAPIs.KFTC;
  2. using Swift.DAL.OnlineAgent;
  3. using Swift.DAL.SwiftDAL;
  4. using Swift.web.Component.Grid;
  5. using Swift.web.Component.Grid.gridHelper;
  6. using Swift.web.Library;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Data;
  10. namespace Swift.web.AgentPanel.OnlineAgent.KFTCApprove
  11. {
  12. public partial class KftcApproved : System.Web.UI.Page
  13. {
  14. private const string GridName = "grid_list";
  15. private const string ViewFunctionId = "20111800";
  16. private const string RejectFunctionId = "20111810";
  17. private readonly SwiftGrid _grid = new SwiftGrid();
  18. private readonly RemittanceLibrary swiftLibrary = new RemittanceLibrary();
  19. protected void Page_Load(object sender, EventArgs e)
  20. {
  21. if (!IsPostBack)
  22. {
  23. GetStatic.PrintMessage(Page);
  24. Authenticate();
  25. }
  26. LoadGrid();
  27. GetStatic.PrintMessage(Page);
  28. }
  29. private void Authenticate()
  30. {
  31. swiftLibrary.CheckSession();
  32. }
  33. private void LoadGrid()
  34. {
  35. _grid.FilterList = new List<GridFilter>
  36. {
  37. new GridFilter("email", "CUSTOMER_EMAIL", "T"),
  38. new GridFilter("IDNUMBER", "CUSTOMER_ID_NUMBER", "T")
  39. };
  40. _grid.ColumnList = new List<GridColumn>
  41. {
  42. new GridColumn("email", "CUSTOMER_EMAIL", "", "T"),
  43. new GridColumn("IDNUMBER", "CUSTOMER_ID_NUMBER", "", "T"),
  44. new GridColumn("COUNTRYNAME", "CUSTOMER_COUNTRY", "", "T"),
  45. new GridColumn("firstName", "GME_NAME", "", "T"),
  46. new GridColumn("userName", "KFTC_NAME", "", "T"),
  47. new GridColumn("ApprovedDate", "APPROVED_DATE", "", "T")
  48. };
  49. _grid.GridType = 1;
  50. _grid.GridDataSource = SwiftGrid.GridDS.RemittanceDB;
  51. _grid.GridName = GridName;
  52. _grid.ShowPagingBar = true;
  53. _grid.AllowEdit = false;
  54. _grid.AllowDelete = false;
  55. _grid.AlwaysShowFilterForm = true;
  56. _grid.ShowFilterForm = true;
  57. _grid.SortOrder = "ASC";
  58. _grid.RowIdField = "CUSTOMERID";
  59. _grid.ThisPage = "kftcApproved.aspx"; ;
  60. _grid.InputPerRow = 4;
  61. _grid.GridMinWidth = 700;
  62. _grid.GridWidth = 100;
  63. _grid.IsGridWidthInPercent = true;
  64. if (swiftLibrary.HasRight(RejectFunctionId))
  65. {
  66. _grid.AllowCustomLink = true;
  67. _grid.CustomLinkVariables = "CUSTOMERID";
  68. var link = "&nbsp;<a class=\"btn btn-xs btn-danger\" title=\"Reject\" href=\"javascript:void(0);\" onclick=\"ApproveReject('@CUSTOMERID', 'reject')\"><i class=\"fa fa-times\"></i></a>";
  69. _grid.CustomLinkText = link;
  70. }
  71. string sql = "EXEC [PROC_KFTC_APPROVE_REJECT] @flag = 'ApprovedList' ";
  72. _grid.SetComma();
  73. rpt_grid.InnerHtml = _grid.CreateGrid(sql);
  74. }
  75. protected void buttonApproveReject_Click(object sender, EventArgs e)
  76. {
  77. IKFTCAccountCancel _cancelKFTC = new KFTCAccountCancel();
  78. DbResult _dbRes = new DbResult();
  79. if (string.IsNullOrEmpty(hddType.Value) && string.IsNullOrEmpty(hddCustomerId.Value))
  80. {
  81. GetStatic.AlertMessage(this, "Error occured while Approve/Reject, please contact JME HQ!");
  82. }
  83. OnlineCustomerDao _cd = new OnlineCustomerDao();
  84. //if reject then delete into system first
  85. DataSet ds = _cd.ApproveReject(GetStatic.GetUser(), hddType.Value, hddCustomerId.Value);
  86. //if (hddType.Value.Trim().ToString() == "reject")
  87. //{
  88. // //cancel in KFTC(call to thirdpart API and then to KFTC)
  89. // _cancelKFTC.CancelAccount(ds.Tables[1]);
  90. //}
  91. _dbRes = SetDBResult(ds.Tables[0]);
  92. GetStatic.SetMessage(_dbRes);
  93. ManageDbResult();
  94. }
  95. private DbResult SetDBResult(DataTable dataTable)
  96. {
  97. return new DbResult
  98. {
  99. Id = dataTable.Rows[0]["Id"].ToString(),
  100. Msg = dataTable.Rows[0]["Msg"].ToString()
  101. };
  102. }
  103. private void ManageDbResult()
  104. {
  105. GetStatic.PrintMessage(Page);
  106. LoadGrid();
  107. }
  108. }
  109. }