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.

139 lines
4.5 KiB

  1. using System;
  2. using System.Data;
  3. using System.Web.UI;
  4. using Swift.DAL.BL.Remit.ServiceCharge;
  5. using Swift.DAL.SwiftDAL;
  6. using Swift.web.Library;
  7. namespace Swift.web.Remit.ServiceCharge.Special
  8. {
  9. public partial class CopySetup : Page
  10. {
  11. private const string ViewFunctionId = "30001000";
  12. private const string AddEditFunctionId = "30001010";
  13. private const string DeleteFunctionId = "30001020";
  14. private readonly RemittanceLibrary _sl = new RemittanceLibrary();
  15. private readonly SscDetailDao obj = new SscDetailDao();
  16. private StaticDataDdl _sdd = new StaticDataDdl();
  17. protected void Page_Load(object sender, EventArgs e)
  18. {
  19. Authenticate();
  20. GetStatic.SetActiveMenu(ViewFunctionId);
  21. MakeNumericTextBox();
  22. if (!IsPostBack)
  23. {
  24. PopulateDdl(null);
  25. if (GetId() > 0)
  26. {
  27. PopulateDataById();
  28. }
  29. else
  30. {
  31. LoadMaxAmount();
  32. }
  33. }
  34. }
  35. protected void btnSave_Click(object sender, EventArgs e)
  36. {
  37. Update();
  38. }
  39. protected void btnOnBlur_Click(object sender, EventArgs e)
  40. {
  41. if (pcnt.Text == "0")
  42. maxAmt.Enabled = false;
  43. else
  44. maxAmt.Enabled = true;
  45. minAmt.Focus();
  46. }
  47. #region Method
  48. private void MakeNumericTextBox()
  49. {
  50. Misc.MakeNumericTextbox(ref fromAmt);
  51. Misc.MakeNumericTextbox(ref toAmt);
  52. Misc.MakeNumericTextbox(ref pcnt);
  53. Misc.MakeNumericTextbox(ref minAmt);
  54. Misc.MakeNumericTextbox(ref maxAmt);
  55. pcnt.Attributes.Add("onblur", "CheckAmt();");
  56. }
  57. private void LoadMaxAmount()
  58. {
  59. double maxAmount = _sl.GetMaxAmount("sscMasterId", GetDscMasterId(), "sscDetailTemp");
  60. double startAmt = maxAmount + 0.01;
  61. fromAmt.Text = startAmt.ToString();
  62. }
  63. private long GetId()
  64. {
  65. return GetStatic.ReadNumericDataFromQueryString("SscDetailId");
  66. }
  67. protected string GetDscMasterId()
  68. {
  69. return GetStatic.ReadNumericDataFromQueryString("SscMasterId").ToString();
  70. }
  71. private void Authenticate()
  72. {
  73. _sl.CheckAuthentication(ViewFunctionId + "," + AddEditFunctionId + "," + DeleteFunctionId);
  74. btnSave.Visible = _sl.HasRight(AddEditFunctionId);
  75. }
  76. private void PopulateDdl(DataRow dr)
  77. {
  78. }
  79. private void PopulateDataById()
  80. {
  81. DataRow dr = obj.SelectCopyById(GetStatic.GetUser(), GetId().ToString());
  82. if (dr == null)
  83. return;
  84. fromAmt.Text = GetStatic.FormatData(dr["fromAmt"].ToString(), "M");
  85. toAmt.Text = GetStatic.FormatData(dr["toAmt"].ToString(), "M");
  86. pcnt.Text = GetStatic.FormatData(dr["pcnt"].ToString(), "M");
  87. minAmt.Text = GetStatic.FormatData(dr["minAmt"].ToString(), "M");
  88. maxAmt.Text = GetStatic.FormatData(dr["maxAmt"].ToString(), "M");
  89. }
  90. private void Update()
  91. {
  92. DbResult dbResult = obj.CopyUpdate(GetStatic.GetUser()
  93. , GetId().ToString()
  94. , GetDscMasterId()
  95. , fromAmt.Text
  96. , toAmt.Text
  97. , pcnt.Text
  98. , minAmt.Text
  99. , maxAmt.Enabled == false ? minAmt.Text : maxAmt.Text
  100. , GetStatic.GetSessionId());
  101. ManageMessage(dbResult);
  102. }
  103. private void DeleteRow()
  104. {
  105. DbResult dbResult = obj.CopyDelete(GetStatic.GetUser(), GetId().ToString());
  106. ManageMessage(dbResult);
  107. }
  108. private void ManageMessage(DbResult dbResult)
  109. {
  110. string mes = GetStatic.ParseResultJsPrint(dbResult);
  111. mes = mes.Replace("<center>", "");
  112. mes = mes.Replace("</center>", "");
  113. ScriptManager.RegisterStartupScript(this, GetType(), "Callback", "CallBack(' " + mes + "')", true);
  114. }
  115. #endregion
  116. protected void btnDelete_Click(object sender, EventArgs e)
  117. {
  118. DeleteRow();
  119. }
  120. }
  121. }