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.

129 lines
4.4 KiB

  1. using Swift.DAL.Remittance.ExchangeRate;
  2. using Swift.DAL.SwiftDAL;
  3. using Swift.web.Library;
  4. using System;
  5. using System.Data;
  6. using System.IO;
  7. using System.Text;
  8. namespace Swift.web.Remit.ImportSettlementRate
  9. {
  10. public partial class ImportSettlementRate : System.Web.UI.Page
  11. {
  12. ImportSettlementRateDao _isd = new ImportSettlementRateDao();
  13. private readonly RemittanceLibrary _sl = new RemittanceLibrary();
  14. private string ViewFunctionId = "20201000";
  15. protected void Page_Load(object sender, EventArgs e)
  16. {
  17. Authenticate();
  18. if (!IsPostBack)
  19. {
  20. step1.Visible = true;
  21. step1a.Visible = true;
  22. step2.Visible = false;
  23. step2a.Visible = false;
  24. GetStatic.PrintMessage(Page);
  25. }
  26. }
  27. private void Authenticate()
  28. {
  29. _sl.CheckAuthentication(ViewFunctionId);
  30. }
  31. protected void import_Click(object sender, EventArgs e)
  32. {
  33. DbResult _res = new DbResult();
  34. if (fileUpload.FileContent.Length > 0)
  35. {
  36. if (fileUpload.FileName.ToLower().Contains(".csv"))
  37. {
  38. string path = Server.MapPath("..\\..\\") + "\\doc\\tmp\\" + fileUpload.FileName;
  39. string Remitpath = Server.MapPath("..\\..\\") + "\\SampleFile\\VoucherEntry\\" + fileUpload.FileName;
  40. fileUpload.SaveAs(path);
  41. var xml = GetStatic.GetCSVFileInTable(path, true);
  42. File.Delete(path);
  43. var rs = _isd.ImportSettlementRate(GetStatic.GetUser(), xml, GetStatic.GetSessionId());
  44. _res = _sl.ParseDbResult(rs.Tables[0]);
  45. if (_res.ErrorCode == "0")
  46. {
  47. step1.Visible = false;
  48. step1a.Visible = false;
  49. step2.Visible = true;
  50. step2a.Visible = true;
  51. PopulateData(rs.Tables[1]);
  52. }
  53. else
  54. {
  55. GetStatic.AlertMessage(this, _res.Msg);
  56. }
  57. }
  58. else
  59. {
  60. GetStatic.AlertMessage(this, "Invalid file format!");
  61. }
  62. }
  63. }
  64. private void PopulateData(DataTable dt)
  65. {
  66. if (dt == null)
  67. {
  68. return;
  69. }
  70. StringBuilder sb = new StringBuilder();
  71. foreach (DataRow item in dt.Rows)
  72. {
  73. sb.AppendLine("<tr>");
  74. sb.AppendLine("<td><input type='checkbox' name='chkRateUpload' value='" + item["ROW_ID"].ToString() + "' checked='true'/></td>");
  75. sb.AppendLine("<td>" + item["countryName"].ToString() + "</td>");
  76. sb.AppendLine("<td>" + item["S_CURRENCY"].ToString() + " / " + item["P_CURRENCY"].ToString() + "</td>");
  77. sb.AppendLine("<td>" + item["OldRate"].ToString() + "</td>");
  78. sb.AppendLine("<td>" + item["NewRate"].ToString() + "</td>");
  79. sb.AppendLine("</tr>");
  80. }
  81. rateTable.InnerHtml = sb.ToString();
  82. }
  83. protected void btnClear_Click(object sender, EventArgs e)
  84. {
  85. _isd.ClearData(GetStatic.GetUser(), GetStatic.GetSessionId());
  86. step1.Visible = true;
  87. step1a.Visible = true;
  88. step2.Visible = false;
  89. step2a.Visible = false;
  90. }
  91. protected void btnConfirmSave_Click(object sender, EventArgs e)
  92. {
  93. var Ids = Request.Form["chkRateUpload"];
  94. if (!string.IsNullOrEmpty(Ids))
  95. {
  96. var _res = _isd.ConfirmSave(GetStatic.GetUser(), Ids, GetStatic.GetSessionId());
  97. if (_res.ErrorCode == "0")
  98. {
  99. step1.Visible = true;
  100. step1a.Visible = true;
  101. step2.Visible = false;
  102. step2a.Visible = false;
  103. GetStatic.AlertMessage(this, _res.Msg);
  104. }
  105. else
  106. {
  107. GetStatic.AlertMessage(this, _res.Msg);
  108. }
  109. }
  110. else
  111. {
  112. GetStatic.AlertMessage(this, "Please choose at least on record!");
  113. }
  114. }
  115. }
  116. }