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.

122 lines
4.2 KiB

  1. using Swift.DAL.ExchangeSystem.LedgerSetup;
  2. using Swift.web.Library;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Web.UI.WebControls;
  7. namespace Swift.web.AccountSetting.MoveLedger
  8. {
  9. public partial class List : System.Web.UI.Page
  10. {
  11. private const string ViewFunctionId = "20150400";
  12. private SwiftLibrary _sl = new SwiftLibrary();
  13. private LedgerDao _obj = new LedgerDao();
  14. protected void Page_Load(object sender, EventArgs e)
  15. {
  16. Authenticate();
  17. if (!IsPostBack)
  18. {
  19. PopulateData();
  20. }
  21. }
  22. private void PopulateData()
  23. {
  24. string sql = "EXEC PROC_DROPDOWNLIST @FLAG='ledgerMove'";
  25. _sl.SetDDL(ref ledgerInfo1, sql, "gl_code", "gl_name", "", "Select");
  26. _sl.SetDDL(ref ledgerInfo2, sql, "gl_code", "gl_name", "", "Select");
  27. }
  28. private void Authenticate()
  29. {
  30. _sl.CheckAuthentication(ViewFunctionId);
  31. }
  32. protected void ledgerInfo1_SelectedIndexChanged(object sender, EventArgs e)
  33. {
  34. string id = ledgerInfo1.SelectedValue;
  35. DataTable dt = _obj.GetLedgerDetails(id);
  36. if (dt == null || dt.Rows.Count == 0)
  37. {
  38. ledgerInfoDetail1.Items.Clear();
  39. return;
  40. }
  41. BindData(dt);
  42. }
  43. protected void ledgerInfo2_SelectedIndexChanged(object sender, EventArgs e)
  44. {
  45. string id = ledgerInfo2.SelectedValue;
  46. DataTable dt = _obj.GetLedgerDetails(id);
  47. if (dt == null || dt.Rows.Count == 0)
  48. {
  49. ledgerInfoDetail2.Items.Clear();
  50. return;
  51. }
  52. BindData1(dt);
  53. }
  54. private void BindData1(DataTable dt)
  55. {
  56. List<ListItem> ledger = new List<ListItem>();
  57. foreach (DataRow dr in dt.Rows)
  58. {
  59. ledger.Add(new ListItem(dr["acct_name"].ToString(), dr["acct_num"].ToString()));
  60. }
  61. ledgerInfoDetail2.DataTextField = "Text";
  62. ledgerInfoDetail2.DataValueField = "Value";
  63. ledgerInfoDetail2.DataSource = ledger;
  64. ledgerInfoDetail2.DataBind();
  65. hdn2.Value = ledgerInfoDetail2.Items.Count.ToString();
  66. }
  67. private void BindData(DataTable dt)
  68. {
  69. List<ListItem> ledger = new List<ListItem>();
  70. foreach (DataRow dr in dt.Rows)
  71. {
  72. ledger.Add(new ListItem(dr["acct_name"].ToString(), dr["acct_num"].ToString()));
  73. }
  74. ledgerInfoDetail1.DataTextField = "Text";
  75. ledgerInfoDetail1.DataValueField = "Value";
  76. ledgerInfoDetail1.DataSource = ledger;
  77. ledgerInfoDetail1.DataBind();
  78. hdn1.Value = ledgerInfoDetail1.Items.Count.ToString();
  79. }
  80. protected void btnSave_Click(object sender, EventArgs e)
  81. {
  82. string fromId = "";
  83. string toId = "";
  84. string rightSelectedItems = Request.Form[ledgerInfoDetail2.UniqueID];
  85. ledgerInfoDetail2.Items.Clear();
  86. if (!string.IsNullOrEmpty(rightSelectedItems))
  87. {
  88. foreach (string item in rightSelectedItems.Split(','))
  89. {
  90. ledgerInfoDetail2.Items.Add(item);
  91. }
  92. }
  93. toId = ledgerInfo2.SelectedValue;
  94. fromId = ledgerInfo1.SelectedValue;
  95. if (string.IsNullOrEmpty(toId))
  96. {
  97. ledgerInfoDetail2.Items.Clear();
  98. GetStatic.AlertMessage(this, "Sorry Operation Terminates!!! \n You have not selected any ledgers to move.");
  99. return;
  100. }
  101. else if (string.IsNullOrEmpty(rightSelectedItems))
  102. {
  103. GetStatic.AlertMessage(this, "Sorry Operation Terminates!!! \n You have not moved any accounts.");
  104. return;
  105. }
  106. var dr = _obj.DoLedgerMovement(fromId, toId, rightSelectedItems);
  107. ledgerInfo1_SelectedIndexChanged(this, EventArgs.Empty);
  108. ledgerInfoDetail2.Items.Clear();
  109. GetStatic.AlertMessage(this, dr.Msg);
  110. return;
  111. }
  112. }
  113. }