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.

273 lines
11 KiB

  1. using Swift.DAL.BL.Remit.DomesticOperation.CommissionSetup;
  2. using Swift.DAL.SwiftDAL;
  3. using Swift.web.Library;
  4. using System;
  5. using System.Data;
  6. using System.Text;
  7. using System.Web.UI;
  8. namespace Swift.web.Remit.DomesticOperation.CommissionGroupMapping
  9. {
  10. public partial class CommissionPackage : Page
  11. {
  12. private const string ViewFunctionId = "20131400";
  13. private const string AddEditFunctionId = "20131410";
  14. private const string DeleteFunctionId = "20131420";
  15. protected const string GridName = "grd_CommMappPck";
  16. protected const string GridName1 = "grd_CommMappPck1";
  17. protected const string GridName2 = "grd_CommMappPck2";
  18. protected const string GridName3 = "grd_CommMappPck3";
  19. private readonly CommGroupMappingDao _commGrpMap = new CommGroupMappingDao();
  20. private readonly StaticDataDdl _sdd = new StaticDataDdl();
  21. protected void Page_Load(object sender, EventArgs e)
  22. {
  23. Authenticate();
  24. if (!IsPostBack)
  25. {
  26. GetStatic.PrintMessage(Page);
  27. if (GetTypeValue() == "D")
  28. {
  29. type.Text = "D";
  30. _sdd.SetStaticDdl(ref package, "6400", GetPackageId().ToString(), "Select");
  31. OnDomesticGrid();
  32. }
  33. if (GetTypeValue() == "I")
  34. {
  35. type.Text = "I";
  36. _sdd.SetStaticDdl(ref package, "6500", GetPackageId().ToString(), "Select");
  37. OnLoadGrids();
  38. ViewChangeSetting();
  39. }
  40. }
  41. //OnDomesticGrid();
  42. //DeleteRow();
  43. }
  44. private void Authenticate()
  45. {
  46. _sdd.CheckAuthentication(ViewFunctionId + "," + AddEditFunctionId + "," + DeleteFunctionId);
  47. }
  48. private void ManageMessage(DbResult dbResult)
  49. {
  50. GetStatic.SetMessage(dbResult);
  51. GetStatic.PrintMessage(Page);
  52. }
  53. protected long GetPackageId()
  54. {
  55. return GetStatic.ReadNumericDataFromQueryString("packageId");
  56. }
  57. private string GetTypeValue()
  58. {
  59. return GetStatic.ReadQueryString("type", "");
  60. }
  61. protected void btnSearch_Click(object sender, EventArgs e)
  62. {
  63. domestic.Visible = false;
  64. serviceCharge.Visible = false;
  65. payComm.Visible = false;
  66. sendComm.Visible = false;
  67. if (type.Text == "D")
  68. OnDomesticGrid();
  69. else
  70. OnLoadGrids();
  71. ViewChangeSetting();
  72. }
  73. private void ViewChangeSetting()
  74. {
  75. var dr = _commGrpMap.GetPackageAuditLog(GetStatic.GetUser(), package.Text);
  76. if (dr == null)
  77. {
  78. lblPackage.Text = "";
  79. spnViewChanges.InnerHtml = "";
  80. return;
  81. }
  82. lblPackage.Text = package.SelectedItem.Text;
  83. var param = "dialogHeight:1200px;dialogWidth:1200px;dialogLeft:20;dialogTop:20;center:yes";
  84. string url = "";
  85. if (type.Text == "I")
  86. url = "CommissionPackageApprove.aspx?packageId=" + package.Text + "&ruleType=cs";
  87. else if (type.Text == "D")
  88. url = "CommissionPackageApprove.aspx?packageId=" + package.Text + "&ruleType=ds";
  89. var html = new StringBuilder();
  90. if (dr["createdBy"].ToString() == GetStatic.GetUser())
  91. html.Append("<img src=\"../../../images/wait-icon.png\" border=\"0\" class=\"showHand\" onclick=\"PopUpWithCallBack('" + url + "', '" +
  92. param + "');\"");
  93. else
  94. html.Append("<img src=\"../../../images/view-changes.jpg\" border=\"0\" class=\"showHand\" onclick=\"PopUpWithCallBack('" + url + "', '" +
  95. param + "');\"");
  96. spnViewChanges.InnerHtml = html.ToString();
  97. }
  98. private void OnDomesticGrid()
  99. {
  100. domestic.Visible = true;
  101. DataTable dt = _commGrpMap.DomesticRuleDisplay(GetStatic.GetUser(), package.Text);
  102. int cols = dt.Columns.Count;
  103. var str = new StringBuilder("<table class='table table-responsive table-bordered table-striped'>");
  104. str.Append("<tr><td colspan='" + cols + "'><div align=\"right\"><a href='RuleAdd.aspx?type=D&packageId=" + package.Text + "'><img src=\"../../../images/add.gif\" border=0 alt=\"Add Rule\" title=\"Add Rule\"/></a></div></td></tr>");
  105. str.Append("<tr class='hdtitle'>");
  106. for (int i = 3; i < cols; i++)
  107. {
  108. str.Append("<th class=\"headingTH\"><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
  109. }
  110. str.Append("<th align=\"left\"></th>");
  111. str.Append("</tr>");
  112. var j = 0;
  113. foreach (DataRow dr in dt.Rows)
  114. {
  115. str.Append(++j % 2 == 1 ? "<tr class=\"oddbg\">" : "<tr class=\"evenbg\">");
  116. for (int i = 3; i < cols; i++)
  117. {
  118. str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
  119. }
  120. str.Append("<td align=\"left\"><img style=\"cursor:pointer;\" onclick = \"IsDelete('" + dr["id"].ToString() + "')\" border = '0' title = \"Confirm Delete\" src=\"../../../images/delete.gif\" /></td>");
  121. str.Append("</tr>");
  122. }
  123. str.Append("</table>");
  124. rpt_domestic.InnerHtml = str.ToString();
  125. }
  126. private void OnLoadGrids()
  127. {
  128. DataSet ds = _commGrpMap.IntlRuleDisplay(GetStatic.GetUser(), (package.Text == "" ? GetPackageId().ToString() : package.Text));
  129. if (ds.Tables.Count > 0)
  130. {
  131. var dt = ds.Tables[0];
  132. LoadServiceCharge(dt);
  133. }
  134. if (ds.Tables.Count > 1)
  135. {
  136. var dt = ds.Tables[1];
  137. LoadPayCommission(dt);
  138. }
  139. if (ds.Tables.Count > 2)
  140. {
  141. var dt = ds.Tables[2];
  142. LoadSendCommission(dt);
  143. }
  144. }
  145. private void LoadServiceCharge(DataTable dt)
  146. {
  147. serviceCharge.Visible = true;
  148. int cols = dt.Columns.Count;
  149. var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
  150. str.Append("<tr><td colspan='" + cols + "'><div align=\"right\"><a href='RuleAdd.aspx?flag=sc&type=I&packageId=" + package.Text + "'><img src=\"../../../images/add.gif\" border=0 alt=\"Add Rule\" title=\"Add Rule\"/></a></div></td></tr>");
  151. str.Append("<tr class='hdtitle'>");
  152. for (int i = 3; i < cols; i++)
  153. {
  154. str.Append("<th class=\"headingTH\"><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
  155. }
  156. str.Append("<th align=\"left\"></th>");
  157. str.Append("</tr>");
  158. var j = 0;
  159. foreach (DataRow dr in dt.Rows)
  160. {
  161. str.Append(++j % 2 == 1 ? "<tr class=\"oddbg\">" : "<tr class=\"evenbg\">");
  162. for (int i = 3; i < cols; i++)
  163. {
  164. str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
  165. }
  166. str.Append("<td align=\"left\"><img style=\"cursor:pointer;\" onclick = \"IsDelete('" + dr["id"].ToString() + "')\" border = '0' title = \"Confirm Delete\" src=\"../../../images/delete.gif\" /></td>");
  167. str.Append("</tr>");
  168. }
  169. str.Append("</table>");
  170. rpt_sc.InnerHtml = str.ToString();
  171. }
  172. private void LoadPayCommission(DataTable dt)
  173. {
  174. payComm.Visible = true;
  175. int cols = dt.Columns.Count;
  176. var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
  177. str.Append("<tr><td colspan='" + cols + "'><div align=\"right\"><a href='RuleAdd.aspx?flag=cp&type=I&packageId=" + package.Text + "'><img src=\"../../../images/add.gif\" border=0 alt=\"Add Rule\" title=\"Add Rule\"/></a></div></td></tr>");
  178. str.Append("<tr class='hdtitle'>");
  179. for (int i = 3; i < cols; i++)
  180. {
  181. str.Append("<th class=\"headingTH\"><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
  182. }
  183. str.Append("<th align=\"left\"></th>");
  184. str.Append("</tr>");
  185. var j = 0;
  186. foreach (DataRow dr in dt.Rows)
  187. {
  188. str.Append(++j % 2 == 1 ? "<tr class=\"oddbg\">" : "<tr class=\"evenbg\">");
  189. for (int i = 3; i < cols; i++)
  190. {
  191. str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
  192. }
  193. str.Append("<td align=\"left\"><img style=\"cursor:pointer;\" onclick = \"IsDelete('" + dr["id"].ToString() + "')\" border = '0' title = \"Confirm Delete\" src=\"../../../images/delete.gif\" /></td>");
  194. str.Append("</tr>");
  195. }
  196. str.Append("</table>");
  197. rpt_cp.InnerHtml = str.ToString();
  198. }
  199. private void LoadSendCommission(DataTable dt)
  200. {
  201. sendComm.Visible = true;
  202. int cols = dt.Columns.Count;
  203. var str = new StringBuilder("<table class=\"table table-responsive table-bordered table-striped\">");
  204. str.Append("<tr><td colspan='" + cols + "'><div align=\"right\"><a href='RuleAdd.aspx?flag=cs&type=I&packageId=" + package.Text + "'><img src=\"../../../images/add.gif\" border=0 alt=\"Add Rule\" title=\"Add Rule\"/></a></div></td></tr>");
  205. str.Append("<tr class='hdtitle'>");
  206. for (int i = 3; i < cols; i++)
  207. {
  208. str.Append("<th class=\"headingTH\"><div align=\"left\">" + dt.Columns[i].ColumnName + "</div></th>");
  209. }
  210. str.Append("<th align=\"left\"></th>");
  211. str.Append("</tr>");
  212. var j = 0;
  213. foreach (DataRow dr in dt.Rows)
  214. {
  215. str.Append(++j % 2 == 1 ? "<tr class=\"oddbg\">" : "<tr class=\"evenbg\">");
  216. for (int i = 3; i < cols; i++)
  217. {
  218. str.Append("<td align=\"left\">" + dr[i].ToString() + "</td>");
  219. }
  220. str.Append("<td align=\"left\"><img style=\"cursor:pointer;\" onclick = \"IsDelete('" + dr["id"].ToString() + "')\" border = '0' title = \"Confirm Delete\" src=\"../../../images/delete.gif\" /></td>");
  221. str.Append("</tr>");
  222. }
  223. str.Append("</table>");
  224. rpt_cs.InnerHtml = str.ToString();
  225. }
  226. protected void type_SelectedIndexChanged(object sender, EventArgs e)
  227. {
  228. if (type.Text != "")
  229. {
  230. if (type.Text == "D")
  231. _sdd.SetStaticDdl(ref package, "6400", "", "Select");
  232. else
  233. _sdd.SetStaticDdl(ref package, "6500", "", "Select");
  234. }
  235. }
  236. protected void btnDeleteRecord_Click(object sender, EventArgs e)
  237. {
  238. var dbResult = _commGrpMap.Delete(GetStatic.GetUser(), hdnId.Value);
  239. ManageMessage(dbResult);
  240. if (type.Text == "D")
  241. OnDomesticGrid();
  242. else
  243. OnLoadGrids();
  244. }
  245. }
  246. }