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.

923 lines
34 KiB

10 months ago
10 months ago
  1. using Swift.DAL.BL.AgentPanel.Send;
  2. using Swift.DAL.BL.Transaction.ThirdParty.Mtrade;
  3. using Swift.DAL.SwiftDAL;
  4. using Swift.web.Library;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Web;
  11. using System.Web.Script.Serialization;
  12. using System.Web.UI;
  13. using System.Web.UI.WebControls;
  14. namespace Swift.web.Responsive.Send.SendMoneyv2
  15. {
  16. public partial class SendV2 : System.Web.UI.Page
  17. {
  18. private SendTranIRHDao st = new SendTranIRHDao();
  19. private readonly StaticDataDdl _sdd = new StaticDataDdl();
  20. private const string ViewFunctionId = "40101400";
  21. private const string ManualEditServiceCharge = "40101440";
  22. protected void Page_Load(object sender, EventArgs e)
  23. {
  24. _sdd.CheckSession();
  25. txtCollAmt.Attributes.Add("onkeyup", "return CalcOnEnter((event?event:evt));");
  26. string reqMethod = Request.Form["MethodName"];
  27. if (!string.IsNullOrEmpty(reqMethod))
  28. {
  29. if (GetStatic.GetUser() == "")
  30. {
  31. Response.ContentType = "text/plain";
  32. Response.Write("[{\"session_end\":\"1\"}]");
  33. Response.End();
  34. return;
  35. }
  36. }
  37. //Authenticate();
  38. if (String.IsNullOrEmpty(reqMethod))
  39. {
  40. GetCurrentBalance();
  41. //Misc.MakeNumericTextbox(ref txtCollAmt);
  42. Misc.MakeNumericTextbox(ref txtPayAmt);
  43. }
  44. if (!Page.IsPostBack)
  45. {
  46. #region Ajax methods
  47. switch (reqMethod)
  48. {
  49. case "SearchCustomer":
  50. CustomerSearchLoadData();
  51. break;
  52. case "SearchReceiver":
  53. SearchReceiverDetails();
  54. break;
  55. case "PopulateReceiverDDL":
  56. PopulateReceiverDDL();
  57. break;
  58. case "getLocation":
  59. GetLocationData();
  60. break;
  61. case "getSubLocation":
  62. GetSubLocationData();
  63. break;
  64. case "SearchRateScData":
  65. SearchRateScData();
  66. break;
  67. case "PaymentModePcountry":
  68. LoadDataFromDdl("pMode");
  69. break;
  70. case "PCurrPcountry":
  71. PCurrPcountry();
  72. break;
  73. case "CalculateTxn":
  74. Calculate();
  75. break;
  76. case "ReceiverDetailBySender":
  77. PopulateReceiverBySender();
  78. break;
  79. case "loadAgentBank":
  80. LoadDataFromDdl("agentByPmode");
  81. break;
  82. case "PAgentChange":
  83. GetAgentSetting();
  84. break;
  85. case "PBranchChange":
  86. LoadAgentByExtBranch();
  87. break;
  88. case "LoadAgentByExtAgent":
  89. LoadAgentByExtAgent();
  90. break;
  91. case "LoadSchemeByRcountry":
  92. LoadSchemeByRCountry();
  93. break;
  94. case "LoadCustomerRate":
  95. LoadCustomerRate();
  96. break;
  97. case "CheckSenderIdNumber":
  98. CheckSenderIdNumber();
  99. break;
  100. }
  101. #endregion Ajax methods
  102. PopulateDdl();
  103. GetRequiredField();
  104. }
  105. }
  106. private void SearchReceiverDetails()
  107. {
  108. string customerId = Request.Form["customerId"];
  109. //var dt = st.LoadCustomerData(searchType, searchValue, "s", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
  110. var dt = st.LoadReceiverData(GetStatic.GetUser(), customerId);
  111. if (dt == null)
  112. {
  113. Response.Write("");
  114. Response.End();
  115. return;
  116. }
  117. Response.ContentType = "text/plain";
  118. string json = DataTableToJson(dt);
  119. Response.Write(json);
  120. Response.End();
  121. }
  122. private void PopulateReceiverDDL()
  123. {
  124. string customerId = Request.Form["customerId"];
  125. //var dt = st.LoadCustomerData(searchType, searchValue, "s", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
  126. var dt = st.PopulateReceiverDDL(GetStatic.GetUser(), customerId);
  127. if (dt == null)
  128. {
  129. Response.Write("");
  130. Response.End();
  131. return;
  132. }
  133. Response.ContentType = "text/plain";
  134. string json = DataTableToJson(dt);
  135. Response.Write(json);
  136. Response.End();
  137. }
  138. private void GetSubLocationData()
  139. {
  140. string pLocation = Request.Form["PLocation"];
  141. DataTable dt = st.GetPayoutSubLocation(pLocation);
  142. Response.ContentType = "text/plain";
  143. var json = DataTableToJson(dt);
  144. Response.Write(json);
  145. Response.End();
  146. }
  147. private void GetLocationData()
  148. {
  149. string pCountry = Request.Form["PCountry"];
  150. string pMode = Request.Form["PMode"];
  151. DataTable dt = st.GetPayoutLocation(pCountry, pMode,null);
  152. Response.ContentType = "text/plain";
  153. var json = DataTableToJson(dt);
  154. Response.Write(json);
  155. Response.End();
  156. }
  157. protected string sb = "";
  158. private void Authenticate()
  159. {
  160. _sdd.CheckAuthentication(ViewFunctionId);
  161. if (_sdd.HasRight(ManualEditServiceCharge))
  162. {
  163. editServiceCharge.Disabled = false;
  164. allowEditSC.Value = "Y";
  165. }
  166. else
  167. {
  168. allowEditSC.Value = "N";
  169. editServiceCharge.Disabled = true;
  170. lblServiceChargeAmt.Attributes.Add("readonly", "readonly");
  171. }
  172. }
  173. private void GetRequiredField()
  174. {
  175. var dt = st.GetRequiredField(GetStatic.GetCountryId(), GetStatic.GetAgent());
  176. if (dt == null)
  177. return;
  178. var dr = dt.Tables[0].Rows[0];
  179. //if (dr["customerRegistration"].ToString() == "H")
  180. //{
  181. // EnrollCust.Visible = false;
  182. //}
  183. //if (dr["newCustomer"].ToString() == "H")
  184. //{
  185. // NewCust.Visible = false;
  186. //}
  187. //Sender ID
  188. ddSenIdType_err.Visible = false;
  189. txtSendIdNo_err.Visible = false;
  190. switch (dr["id"].ToString())
  191. {
  192. case "H":
  193. trSenId.Attributes.Add("style", "display: none;");
  194. break;
  195. case "M":
  196. ddSenIdType.Attributes.Add("Class", "required");
  197. txtSendIdNo.Attributes.Add("Class", "required");
  198. ddSenIdType_err.Visible = true;
  199. txtSendIdNo_err.Visible = true;
  200. break;
  201. }
  202. //Sender ID Expiry Date
  203. txtSendIdValidDate_err.Visible = false;
  204. switch (dr["iDValidDate"].ToString())
  205. {
  206. case "H":
  207. tdSenExpDateLbl.Attributes.Add("style", "display: none;");
  208. tdSenExpDateTxt.Attributes.Add("style", "display: none;");
  209. //Sender DOB
  210. txtSendDOB_err.Visible = false;
  211. switch (dr["dob"].ToString())
  212. {
  213. case "H":
  214. tdSenDobLbl.Attributes.Add("style", "display: none;");
  215. tdSenDobTxt.Attributes.Add("style", "display: none;");
  216. break;
  217. case "M":
  218. lblSDOB.Visible = true;
  219. txtSendDOB.Attributes.Add("Class", "required");
  220. txtSendDOB_err.Visible = true;
  221. break;
  222. }
  223. break;
  224. case "M":
  225. txtSendIdValidDate.Attributes.Add("Class", "required");
  226. txtSendIdValidDate_err.Visible = true;
  227. //Sender DOB
  228. txtSendDOB_err.Visible = false;
  229. switch (dr["dob"].ToString())
  230. {
  231. case "H":
  232. tdSenDobLbl.Attributes.Add("style", "display: none;");
  233. tdSenDobTxt.Attributes.Add("style", "display: none;");
  234. break;
  235. case "M":
  236. lblSDOB.Visible = true;
  237. txtSendDOB.Attributes.Add("Class", "required");
  238. txtSendDOB_err.Visible = true;
  239. break;
  240. }
  241. break;
  242. default:
  243. //Sender DOB
  244. txtSendDOB_err.Visible = false;
  245. switch (dr["dob"].ToString())
  246. {
  247. case "H":
  248. tdSenDobLbl.Attributes.Add("style", "display: none;");
  249. tdSenDobTxt.Attributes.Add("style", "display: none;");
  250. break;
  251. case "M":
  252. lblSDOB.Visible = true;
  253. txtSendDOB.Attributes.Add("Class", "required");
  254. txtSendDOB_err.Visible = true;
  255. break;
  256. }
  257. break;
  258. }
  259. //Sender Mobile
  260. txtSendMobile_err.Visible = false;
  261. switch (dr["contact"].ToString())
  262. {
  263. case "H":
  264. trSenContactNo.Attributes.Add("style", "display: none;");
  265. break;
  266. case "M":
  267. txtSendMobile.Attributes.Add("Class", "required");
  268. txtSendMobile_err.Visible = true;
  269. break;
  270. }
  271. //Sender City
  272. txtSendCity_err.Visible = false;
  273. switch (dr["city"].ToString())
  274. {
  275. case "H":
  276. tdSenCityLbl.Attributes.Add("style", "display: none;");
  277. tdSenCityTxt.Attributes.Add("style", "display: none;");
  278. break;
  279. case "M":
  280. lblsCity.Visible = true;
  281. txtSendCity.Attributes.Add("Class", "required");
  282. txtSendCity_err.Visible = true;
  283. break;
  284. }
  285. //Sender Address1
  286. txtSendAdd1_err.Visible = false;
  287. switch (dr["address"].ToString())
  288. {
  289. case "H":
  290. trSenAddress1.Attributes.Add("style", "display: none;");
  291. trSenAddress2.Attributes.Add("style", "display: none;");
  292. break;
  293. case "M":
  294. txtSendAdd1.Attributes.Add("class", "required");
  295. txtSendAdd1_err.Visible = true;
  296. break;
  297. }
  298. occupation_err.Visible = false;
  299. switch (dr["occupation"].ToString())
  300. {
  301. case "H":
  302. trOccupation.Attributes.Add("style", "display: none;");
  303. break;
  304. case "M":
  305. lblOccupation.Visible = true;
  306. occupation.Attributes.Add("Class", "required");
  307. occupation_err.Visible = true;
  308. break;
  309. }
  310. companyName_err.Visible = false;
  311. switch (dr["company"].ToString())
  312. {
  313. case "H":
  314. trSenCompany.Attributes.Add("style", "display: none;");
  315. break;
  316. case "M":
  317. companyName.Attributes.Add("Class", "required");
  318. lblCompName.Visible = true;
  319. companyName_err.Visible = true;
  320. break;
  321. }
  322. //Sender Salary
  323. ddlSalary_err.Visible = false;
  324. switch (dr["salaryRange"].ToString())
  325. {
  326. case "M":
  327. lblSalaryRange.Visible = true;
  328. ddlSalary.Attributes.Add("Class", "required");
  329. ddlSalary_err.Visible = true;
  330. break;
  331. case "H":
  332. ddlSalary.Attributes.Add("Class", "HideControl");
  333. lblSalaryRange.Visible = false;
  334. trSalaryRange.Visible = false;
  335. break;
  336. }
  337. purpose_err.Visible = false;
  338. switch (dr["purposeofRemittance"].ToString())
  339. {
  340. case "H":
  341. trPurposeOfRemittance.Attributes.Add("style", "display: none;");
  342. break;
  343. case "M":
  344. purpose.Attributes.Add("Class", "required");
  345. purpose_err.Visible = true;
  346. break;
  347. }
  348. sourceOfFund_err.Visible = false;
  349. switch (dr["sourceofFund"].ToString())
  350. {
  351. case "H":
  352. trSourceOfFund.Attributes.Add("style", "display: none;");
  353. break;
  354. case "M":
  355. lblSof.Visible = true;
  356. sourceOfFund.Attributes.Add("Class", "required");
  357. sourceOfFund_err.Visible = true;
  358. break;
  359. }
  360. //Receiver ID
  361. ddlRecIdType_err.Attributes.Add("style", "display: none;");
  362. txtRecIdNo_err.Attributes.Add("style", "display: none;");
  363. switch (dr["rId"].ToString())
  364. {
  365. case "H":
  366. trRecId.Attributes.Add("style", "display: none;");
  367. trRecId1.Attributes.Add("style", "display: none;");
  368. break;
  369. case "M":
  370. ddlRecIdType.Attributes.Add("Class", "required");
  371. txtRecIdNo.Attributes.Add("Class", "required");
  372. ddlRecIdType_err.Attributes.Add("style", "display: block;");
  373. txtRecIdNo_err.Attributes.Add("style", "display: block;");
  374. break;
  375. }
  376. //Receiver ID Expiry Date
  377. txtRecValidDate_err.Visible = false;
  378. switch (dr["rIdValidDate"].ToString())
  379. {
  380. case "H":
  381. tdRecIdExpiryLbl.Attributes.Add("style", "display:none;");
  382. tdRecIdExpiryTxt.Attributes.Add("style", "display:none;");
  383. switch (dr["rDOB"].ToString())
  384. {
  385. case "H":
  386. tdRecDobLbl.Attributes.Add("style", "display:none;");
  387. tdRecDobTxt.Attributes.Add("style", "display:none;");
  388. break;
  389. //case "M":
  390. // //txtRecDOB.Attributes.Add("Class", "required");
  391. // break;
  392. }
  393. break;
  394. case "M":
  395. txtRecValidDate.Attributes.Add("Class", "required");
  396. txtRecValidDate_err.Visible = true;
  397. switch (dr["rDOB"].ToString())
  398. {
  399. case "H":
  400. tdRecDobLbl.Attributes.Add("style", "display:none;");
  401. tdRecDobTxt.Attributes.Add("style", "display:none;");
  402. break;
  403. //case "M":
  404. // //txtRecDOB.Attributes.Add("Class", "required");
  405. // break;
  406. }
  407. break;
  408. default:
  409. switch (dr["rDOB"].ToString())
  410. {
  411. case "H":
  412. tdRecDobLbl.Attributes.Add("style", "display:none;");
  413. tdRecDobTxt.Attributes.Add("style", "display:none;");
  414. break;
  415. //case "M":
  416. // //txtRecDOB.Attributes.Add("Class", "required");
  417. // break;
  418. }
  419. break;
  420. }
  421. //Receiver Mobile
  422. txtRecMobile_err.Attributes.Add("style", "display: none;");
  423. switch (dr["rContact"].ToString())
  424. {
  425. case "H":
  426. trRecContactNo.Attributes.Add("style", "display: none;");
  427. break;
  428. case "M":
  429. txtRecMobile.Attributes.Add("Class", "required");
  430. txtRecMobile_err.Attributes.Add("style", "display: block;");
  431. break;
  432. }
  433. //Receiver City
  434. txtRecCity_err.Visible = false;
  435. switch (dr["rcity"].ToString())
  436. {
  437. case "H":
  438. tdRecCityLbl.Attributes.Add("style", "display: none;");
  439. tdRecCityTxt.Attributes.Add("style", "display: none;");
  440. break;
  441. case "M":
  442. txtRecCity.Attributes.Add("Class", "required");
  443. txtRecCity_err.Visible = true;
  444. break;
  445. }
  446. //Receiver Address
  447. txtRecAdd1_err.Visible = false;
  448. switch (dr["raddress"].ToString())
  449. {
  450. case "H":
  451. trRecAddress1.Attributes.Add("style", "display: none;");
  452. trRecAddress2.Attributes.Add("style", "display: none;");
  453. break;
  454. case "M":
  455. txtRecAdd1.Attributes.Add("class", "required");
  456. txtRecAdd1_err.Visible = true;
  457. break;
  458. }
  459. relationship_err.Visible = false;
  460. switch (dr["rRelationShip"].ToString())
  461. {
  462. case "H":
  463. trRelWithRec.Attributes.Add("style", "display: none;");
  464. break;
  465. case "M":
  466. relationship.Attributes.Add("Class", "required");
  467. relationship_err.Visible = true;
  468. break;
  469. }
  470. hdnBeneficiaryIdReq.Value = dr["rId"].ToString();
  471. hdnBeneficiaryContactReq.Value = dr["rContact"].ToString();
  472. hdnRelationshipReq.Value = dr["rRelationShip"].ToString();
  473. }
  474. private void LoadSchemeByRCountry()
  475. {
  476. string pCountryFv = Request.Form["pCountry"];
  477. string pAgentFv = Request.Form["pAgent"];
  478. string sCustomerId = Request.Form["sCustomerId"];
  479. var dt = st.LoadSchemeByRCountry(GetStatic.GetCountryId(), GetStatic.GetAgent(), GetStatic.GetBranch(), pCountryFv, pAgentFv, sCustomerId);
  480. Response.ContentType = "text/plain";
  481. var json = DataTableToJson(dt);
  482. Response.Write(json);
  483. Response.End();
  484. }
  485. private void GetCurrentBalance()
  486. {
  487. var dr = st.GetAcDetail(GetStatic.GetUser());
  488. if (dr == null)
  489. {
  490. availableAmt.Text = "N/A";
  491. return;
  492. }
  493. availableAmt.Text = GetStatic.FormatData(dr["availableBal"].ToString(), "M");
  494. lblPerDayLimit.Text = GetStatic.FormatData(dr["txnPerDayCustomerLimit"].ToString(), "M");
  495. lblPerDayCustomerCurr.Text = dr["sCurr"].ToString();
  496. lblCollCurr.Text = dr["sCurr"].ToString();
  497. lblSendCurr.Text = dr["sCurr"].ToString();
  498. lblServiceChargeCurr.Text = dr["sCurr"].ToString();
  499. txnPerDayCustomerLimit.Value = dr["txnPerDayCustomerLimit"].ToString();
  500. balCurrency.Text = dr["balCurrency"].ToString();
  501. hdnLimitAmount.Value = dr["sCountryLimit"].ToString();
  502. }
  503. protected long GetResendId()
  504. {
  505. return GetStatic.ReadNumericDataFromQueryString("resendId");
  506. }
  507. private void LoadAgentByExtAgent()
  508. {
  509. var pAgentFv = Request.Form["pAgent"];
  510. var dt = st.LoadAgentByExtAgent(GetStatic.GetUser(), pAgentFv);
  511. Response.ContentType = "text/plain";
  512. var json = DataTableToJson(dt);
  513. Response.Write(json);
  514. Response.End();
  515. }
  516. private void LoadAgentByExtBranch()
  517. {
  518. var pBranchFv = Request.Form["pBranch"];
  519. var dt = st.LoadAgentByExtBranch(GetStatic.GetUser(), pBranchFv);
  520. Response.ContentType = "text/plain";
  521. var json = DataTableToJson(dt);
  522. Response.Write(json);
  523. Response.End();
  524. }
  525. private void GetAgentSetting()
  526. {
  527. var pAgentFv = Request.Form["pAgent"];
  528. var pModeFv = Request.Form["pMode"];
  529. var pCountryFv = GetStatic.ReadFormData("pCountry", "");
  530. var pBankType = GetStatic.ReadFormData("pBankType", "");
  531. var dt = st.GetAgentSetting(GetStatic.GetUser(), pCountryFv, pAgentFv, pModeFv, pBankType);
  532. Response.ContentType = "text/plain";
  533. var json = DataTableToJson(dt);
  534. Response.Write(json);
  535. Response.End();
  536. }
  537. private void LoadDataFromDdl(string type)
  538. {
  539. var pAgentFv = Request.Form["pAgent"];
  540. var pModeFv = Request.Form["pmode"];
  541. var pCountryFv = Request.Form["pCountry"];
  542. DataTable dt = null;
  543. switch (type)
  544. {
  545. case "pMode":
  546. dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, GetStatic.GetAgent(), "recModeByCountry", GetStatic.GetUser());
  547. break;
  548. case "agentByPmode":
  549. if (string.IsNullOrWhiteSpace(pModeFv) || string.IsNullOrWhiteSpace(pCountryFv))
  550. {
  551. Response.Write(null);
  552. Response.End();
  553. return;
  554. }
  555. dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, GetStatic.GetAgent(), "recAgentByRecModeAjaxagent", GetStatic.GetUser());
  556. break;
  557. case "LoadScheme":
  558. dt = st.LoadDataFromDdl(GetStatic.GetCountryId(), pCountryFv, pModeFv, pAgentFv, "schemeBysCountryrAgent", GetStatic.GetUser());
  559. break;
  560. }
  561. Response.ContentType = "text/plain";
  562. var json = DataTableToJson(dt);
  563. Response.Write(json);
  564. Response.End();
  565. }
  566. private void PopulateReceiverBySender()
  567. {
  568. string recId = Request.Form["id"];
  569. string senderId = Request.Form["senderId"];
  570. DataTable dt = st.PopulateReceiverBySender(senderId, "", recId);
  571. Response.ContentType = "text/plain";
  572. string json = DataTableToJson(dt);
  573. Response.Write(json);
  574. Response.End();
  575. }
  576. private void PCurrPcountry()
  577. {
  578. string pCountry = Request.Form["pCountry"];
  579. string pMode = Request.Form["pMode"];
  580. string pAgent = Request.Form["pAgent"];
  581. DataTable Dt = st.LoadPayCurr(pCountry, pMode, pAgent);
  582. Response.ContentType = "text/plain";
  583. string json = DataTableToJson(Dt);
  584. Response.Write(json);
  585. Response.End();
  586. }
  587. private void PopulateDdl()
  588. {
  589. var natCountry = GetStatic.ReadWebConfig("localCountry", "");
  590. LoadSenderCountry(ref txtSendNativeCountry, natCountry, "SELECT COUNTRY");
  591. LoadReceiverCountry(ref pCountry, "", "Select");
  592. _sdd.SetDDL(ref ddSenIdType, "exec proc_sendPageLoadData @flag='idTypeBySCountry',@countryId='" + GetStatic.GetCountryId() + "'", "valueId", "detailTitle", "", "SELECT");
  593. _sdd.SetDDL(ref ddlCustomerType, "exec proc_sendPageLoadData @flag='search-cust-by'", "VALUE", "TEXT", "", "");
  594. _sdd.SetDDL(ref ddlSendCustomerType, "EXEC proc_online_dropDownList @flag='dropdownList',@parentId=4700", "valueId", "detailTitle", "", "SELECT CUSTOMER TYPE");
  595. _sdd.SetDDL(ref ddlIdIssuedCountry, "EXEC proc_sendPageLoadData @flag='idIssuedCountry'", "countryId", "countryName", "", "SELECT COUNTRY");
  596. _sdd.SetDDL(ref ddlEmpBusinessType, "EXEC proc_online_dropDownList @flag='dropdownList',@parentId=7002", "valueId", "detailTitle", "11007", "");
  597. _sdd.SetDDL(ref custLocationDDL, "EXEC proc_online_dropDownList @flag='state'", "stateId", "stateName", "", "SELECT");
  598. _sdd.SetStaticDdl(ref ddlRecIdType, "1300", "", "SELECT");
  599. _sdd.SetStaticDdl(ref purpose, "3800", "", "SELECT");
  600. _sdd.SetStaticDdl(ref sourceOfFund, "3900", "", "SELECT");
  601. _sdd.SetStaticDdl(ref relationship, "2100", "", "SELECT");
  602. // _sdd.SetStaticDdl(ref ddlSalary, "8300", "", "Select");
  603. // _sdd.SetDDL(ref ddlSalary, "SELECT valueId, detailTitle FROM staticDataValue
  604. // WITH(NOLOCK) WHERE typeID = 3900 AND ISNULL(IS_DELETE, 'N') = 'N'", "valueId",
  605. // "detailTitle", "", "Select"); _sdd.SetDDL(ref occupation, "exec proc_sendPageLoadData
  606. // @flag='loadOccupation'", "occupationId", "detailTitle", "", "Select");
  607. _sdd.SetStaticDdl(ref occupation, "2000", "", "SELECT");
  608. }
  609. private void LoadSenderCountry(ref DropDownList ddl, string defaultValue, string label)
  610. {
  611. var sql = "EXEC proc_dropDownLists @flag='country'";
  612. _sdd.SetDDL(ref ddl, sql, "countryId", "countryName", defaultValue, label);
  613. }
  614. private void LoadReceiverCountry(ref DropDownList ddl, string defaultValue, string label)
  615. {
  616. var sql = "EXEC proc_sendPageLoadData @flag='pCountry',@countryId='" + GetStatic.GetCountryId() + "',@agentid='" + GetStatic.GetAgentId() + "'";
  617. _sdd.SetDDL(ref ddl, sql, "countryId", "countryName", defaultValue, label);
  618. }
  619. private void CustomerSearchLoadData()
  620. {
  621. //string searchType = Request.Form["searchType"];
  622. //string searchValue = Request.Form["searchValue"];
  623. string customerId = Request.Form["customerId"];
  624. //var dt = st.LoadCustomerData(searchType, searchValue, "s", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
  625. var dt = st.LoadCustomerDataNew(GetStatic.GetUser(), customerId, "s-new", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
  626. if (dt == null)
  627. {
  628. Response.Write("");
  629. Response.End();
  630. return;
  631. }
  632. Response.ContentType = "text/plain";
  633. string json = DataTableToJson(dt);
  634. Response.Write(json);
  635. Response.End();
  636. }
  637. private void SearchRateScData()
  638. {
  639. string serchType = Request.Form["serchType"];
  640. string serchValue = Request.Form["serchValue"];
  641. DataTable dt = st.LoadCustomerData(serchType, serchValue, "s", GetStatic.GetCountryId(), GetStatic.GetSettlingAgent());
  642. if (dt == null)
  643. {
  644. Response.Write("");
  645. Response.End();
  646. return;
  647. }
  648. Response.ContentType = "text/plain";
  649. string json = DataTableToJson(dt);
  650. Response.Write(json);
  651. Response.End();
  652. }
  653. public static string DataTableToJson(DataTable table)
  654. {
  655. if (table == null)
  656. return "";
  657. var list = new List<Dictionary<string, object>>();
  658. foreach (DataRow row in table.Rows)
  659. {
  660. var dict = new Dictionary<string, object>();
  661. foreach (DataColumn col in table.Columns)
  662. {
  663. dict[col.ColumnName] = string.IsNullOrEmpty(row[col].ToString()) ? "" : row[col];
  664. }
  665. list.Add(dict);
  666. }
  667. var serializer = new JavaScriptSerializer();
  668. string json = serializer.Serialize(list);
  669. return json;
  670. }
  671. public static string GetJsonString(DataTable dt)
  672. {
  673. var strDc = new string[dt.Columns.Count];
  674. var headStr = string.Empty;
  675. for (int i = 0; i < dt.Columns.Count; i++)
  676. {
  677. strDc[i] = dt.Columns[i].Caption;
  678. headStr += "\"" + strDc[i] + "\" : \"" + strDc[i] + i.ToString() + " " + "\",";
  679. }
  680. headStr = headStr.Substring(0, headStr.Length - 1);
  681. var sb = new StringBuilder();
  682. sb.Append("{\"" + dt.TableName + "\" : [");
  683. for (var i = 0; i < dt.Rows.Count; i++)
  684. {
  685. var tempStr = headStr;
  686. sb.Append("{");
  687. for (var j = 0; j < dt.Columns.Count; j++)
  688. {
  689. tempStr = tempStr.Replace(dt.Columns[j] + j.ToString() + "¾", dt.Rows[i][j].ToString());
  690. }
  691. sb.Append(tempStr + "},");
  692. }
  693. sb = new StringBuilder(sb.ToString().Substring(0, sb.ToString().Length - 1));
  694. sb.Append("]}");
  695. return sb.ToString();
  696. }
  697. protected void Calculate()
  698. {
  699. DataTable dt = new DataTable();
  700. var pCountryFv = Request.Form["pCountry"];
  701. var pcountrytxt = Request.Form["pCountrytxt"];
  702. var pModeFv = Request.Form["pMode"];
  703. var pModetxt = Request.Form["pModetxt"];
  704. var pAgentFv = Request.Form["pAgent"];
  705. var pAgentBranch = Request.Form["pAgentBranch"];
  706. var collAmt = Request.Form["collAmt"];
  707. var payAmt = Request.Form["payAmt"];
  708. var collCurr = Request.Form["collCurr"];
  709. var payCurr = Request.Form["payCurr"];
  710. var senderId = Request.Form["senderId"];
  711. var schemeCode = Request.Form["schemeCode"];
  712. var couponId = Request.Form["couponId"];
  713. var isManualSc = Request.Form["isManualSc"];
  714. var sc = Request.Form["sc"];
  715. var rewardAmt = Request.Form["rewardAmt"];
  716. //if (pCountryFv.ToString() != "151" && pCountryFv.ToString() != "203")
  717. //{
  718. // IMtradeSendAPIDao _mtrade = new MtradeSendAPIDao();
  719. // DbResult _res = _mtrade.GetExRate(GetStatic.GetUser(), pAgentFv);
  720. // dt = st.GetExRateTP(GetStatic.GetUser()
  721. // , GetStatic.GetCountryId()
  722. // , GetStatic.GetSuperAgent()
  723. // , GetStatic.GetAgent()
  724. // , GetStatic.GetBranch()
  725. // , collCurr
  726. // , pCountryFv
  727. // , pAgentFv
  728. // , payCurr
  729. // , pModeFv
  730. // , collAmt
  731. // , payAmt
  732. // , schemeCode
  733. // , senderId
  734. // , GetStatic.GetSessionId()
  735. // , couponId
  736. // , _res.Extra
  737. // , _res.Extra2
  738. // );
  739. //}
  740. dt = st.GetExRate(GetStatic.GetUser()
  741. , GetStatic.GetCountryId()
  742. , GetStatic.GetSuperAgent()
  743. , GetStatic.GetAgent()
  744. , GetStatic.GetBranch()
  745. , collCurr
  746. , pCountryFv
  747. , pAgentFv
  748. , payCurr
  749. , pModeFv
  750. , collAmt
  751. , payAmt
  752. , schemeCode
  753. , senderId
  754. , GetStatic.GetSessionId()
  755. , couponId
  756. , rewardAmt
  757. , ""
  758. , isManualSc
  759. , sc);
  760. Response.ContentType = "text/plain";
  761. var json = DataTableToJson(dt);
  762. Response.Write(json);
  763. Response.End();
  764. }
  765. private void LoadCustomerRate()
  766. {
  767. var pCountryFv = GetStatic.ReadFormData("pCountry", "");
  768. var pAgentFv = GetStatic.ReadFormData("pAgent", "");
  769. var pModeFv = GetStatic.ReadFormData("pMode", "");
  770. var collCurr = GetStatic.ReadFormData("collCurr", "");
  771. var dt = st.LoadCustomerRate(GetStatic.GetUser()
  772. , GetStatic.GetCountryId()
  773. , GetStatic.GetSuperAgent()
  774. , GetStatic.GetAgent()
  775. , GetStatic.GetBranch()
  776. , collCurr
  777. , pCountryFv
  778. , pAgentFv
  779. , ""
  780. , pModeFv
  781. );
  782. Response.ContentType = "text/plain";
  783. var json = DataTableToJson(dt);
  784. Response.Write(json);
  785. Response.End();
  786. }
  787. private void CheckSenderIdNumber()
  788. {
  789. var sIdType = GetStatic.ReadQueryString("sIdType", "");
  790. var sIdNo = GetStatic.ReadFormData("sIdNo", "");
  791. var dt = st.CheckSenderIdNumber(GetStatic.GetUser(), sIdType, sIdNo);
  792. Response.ContentType = "text/plain";
  793. var json = DataTableToJson(dt);
  794. Response.Write(json);
  795. Response.End();
  796. }
  797. //protected void pAgent_SelectedIndexChanged(object sender, EventArgs e)
  798. //{
  799. // var agentId = pAgent.SelectedValue;
  800. // var sql = "EXEC proc_dropDownLists @flag='pickBranchById',@agentId=" + agentId;
  801. // _sdd.SetDDL(ref branche, sql, "agentId", "agentName", "", "Select Branches");
  802. //}
  803. }
  804. }