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.

325 lines
12 KiB

  1. using Swift.DAL.BL.Remit.Administration.Customer;
  2. using Swift.DAL.BL.Remit.Compliance;
  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.Text;
  9. using System.Web.Script.Serialization;
  10. using System.Web.UI.WebControls;
  11. namespace Swift.web.Remit.OFACManagement.ManualComplianceSetup
  12. {
  13. public partial class Manage : System.Web.UI.Page
  14. {
  15. private complianceDao obj = new complianceDao();
  16. private readonly StaticDataDdl _sdd = new StaticDataDdl();
  17. private readonly string ViewFunctionId = "20601400";
  18. private readonly SwiftDao _swiftDao = new SwiftDao();
  19. private CustomersDao cd = new CustomersDao();
  20. protected void Page_Load(object sender, EventArgs e)
  21. {
  22. Authenticate();
  23. if (!IsPostBack)
  24. {
  25. if (GetId() > 0)
  26. PopulateDataById();
  27. else
  28. {
  29. // GetStatic.CallJSFunction(this, "LoadCalender()");
  30. PopulateDdl(null);
  31. }
  32. #region Ajax methods
  33. string reqMethod = Request.Form["MethodName"];
  34. switch (reqMethod)
  35. {
  36. case "getdate":
  37. GetDateADVsBS();
  38. break;
  39. case "idissuedplace":
  40. GetIdIssuedPlace();
  41. break;
  42. }
  43. #endregion Ajax methods
  44. // dob.Attributes.Add("onchange", "GetADVsBSDate('ad','dob')");
  45. // dobBs.Attributes.Add("onchange", "GetADVsBSDate('bs','dobBs')");
  46. }
  47. }
  48. private void GetIdIssuedPlace()
  49. {
  50. var IdType = Request.Form["IdType"];
  51. var dt = cd.LoadIdIssuedPlace(GetStatic.GetUser(), IdType);
  52. Response.ContentType = "text/plain";
  53. var json = DataTableToJSON(dt);
  54. Response.Write(json);
  55. Response.End();
  56. }
  57. private void GetDateADVsBS()
  58. {
  59. var date = Request.Form["date"];
  60. var type = Request.Form["type"];
  61. type = (type == "ad") ? "e" : "bs";
  62. var dt = cd.LoadCalender(GetStatic.GetUser(), date, type);
  63. Response.ContentType = "text/plain";
  64. var json = DataTableToJSON(dt);
  65. Response.Write(json);
  66. Response.End();
  67. }
  68. public static string DataTableToJSON(DataTable table)
  69. {
  70. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  71. foreach (DataRow row in table.Rows)
  72. {
  73. Dictionary<string, object> dict = new Dictionary<string, object>();
  74. foreach (DataColumn col in table.Columns)
  75. {
  76. dict[col.ColumnName] = row[col];
  77. }
  78. list.Add(dict);
  79. }
  80. JavaScriptSerializer serializer = new JavaScriptSerializer();
  81. return serializer.Serialize(list);
  82. }
  83. private void PopulateDataById()
  84. {
  85. var dr = obj.GetComplianceById(GetId().ToString(), GetStatic.GetUser());
  86. GetStatic.CallJSFunction(this, "GetADVsBSDate('ad','dob')");
  87. if (dr["membershipId"] == null || dr["membershipId"].ToString() == "")
  88. {
  89. //GetStatic.CallJSFunction(this, "LoadCalender()");
  90. EnableFields(true);
  91. }
  92. else
  93. {
  94. EnableFields(false);
  95. }
  96. cardNo.Text = dr["membershipId"].ToString();
  97. name.Text = dr["Name"].ToString();
  98. address.Text = dr["Address"].ToString();
  99. IdNumber.Text = dr["IdNumber"].ToString();
  100. dob.Text = dr["Dob"].ToString();
  101. relativesName.Text = dr["FatherName"].ToString();
  102. remarks.Text = dr["Remarks"].ToString();
  103. aka.Text = dr["aka"].ToString();
  104. isActive.Checked = dr["isActive"].ToString().Equals("Y");
  105. contact.Text = dr["contact"].ToString();
  106. entNum.Text = dr["entNum"].ToString();
  107. DataSource.Text = dr["dataSource"].ToString();
  108. vesselType.SelectedValue = dr["vesselType"].ToString();
  109. hddidPlaceIssue.Value = dr["idPlaceIssue"].ToString();
  110. idType.Text = dr["idType"].ToString();
  111. hddIdType.Value = dr["idType1"].ToString();
  112. PopulateDdl(dr);
  113. }
  114. protected void save_Click(object sender, EventArgs e)
  115. {
  116. string akaNameXML = GetXML(aka.Text);
  117. Update(akaNameXML);
  118. }
  119. public string GetXML(string text)
  120. {
  121. if (string.IsNullOrEmpty(text))
  122. return "";
  123. var sb = new StringBuilder("<root>");
  124. string[] lines = text.Split(new[] { Environment.NewLine },
  125. StringSplitOptions.None
  126. );
  127. for (int i = 0; i < lines.Length; i++)
  128. {
  129. if (!string.IsNullOrEmpty(lines[i]))
  130. {
  131. sb.Append("<row");
  132. sb.Append(" akaName=\"" + lines[i].Trim() + "\"");
  133. sb.Append(" />");
  134. }
  135. }
  136. sb.Append("</root>");
  137. return sb.ToString();
  138. }
  139. public long GetId()
  140. {
  141. return GetStatic.ReadNumericDataFromQueryString("rowId");
  142. }
  143. private void Update(string akaNameXML)
  144. {
  145. var dbResult = obj.Update1(GetId().ToString(), GetStatic.GetUser(), entNum.Text, vesselType.SelectedItem.Text, cardNo.Text, name.Text, address.Text
  146. , country.SelectedItem.Text, idType.Text, IdNumber.Text, dob.Text, relativesName.Text, DataSource.SelectedItem.Text, remarks.Text, akaNameXML
  147. , isActive.Checked ? "Y" : "N", contact.Text);
  148. ManageMessage(dbResult);
  149. }
  150. private void ManageMessage(DbResult dbResult)
  151. {
  152. GetStatic.SetMessage(dbResult);
  153. GetStatic.AlertMessage(Page, dbResult.Msg);
  154. if (dbResult.ErrorCode == "0")
  155. Response.Redirect("List.aspx");
  156. else
  157. GetStatic.PrintMessage(Page);
  158. }
  159. private void PopulateDdl(DataRow dr)
  160. {
  161. LoadCountry(ref country, GetStatic.GetRowData(dr, "country"));
  162. // _sdd.SetDDL(ref country, "EXEC proc_countryMaster @flag = 'ocl'", "countryName",
  163. // "countryName", "", "All"); LoadState(ref Zone, "151", GetStatic.GetRowData(dr,
  164. // "state")); LoadDistrict(ref DataSource, Zone.Text, GetStatic.GetRowData(dr, "district"));
  165. LoadDataSource(ref DataSource, GetStatic.GetRowData(dr, "dataSource"));
  166. // LoadIdType(ref IdType, GetStatic.GetRowData(dr, "IdType"));
  167. }
  168. private void LoadDataSource(ref DropDownList ddl, string defaultValue)
  169. {
  170. if (string.IsNullOrEmpty(defaultValue))
  171. defaultValue = "11426";
  172. string sql = "EXEC proc_online_dropDownList @flag='dropdownList',@parentId=7020";
  173. _sdd.SetDDL(ref ddl, sql, "valueId", "detailTitle", defaultValue, "Select");
  174. }
  175. private void LoadCountry(ref DropDownList ddl, string defaultValue)
  176. {
  177. string sql = "EXEC proc_dropDownLists @flag='country'";
  178. _sdd.SetDDL3(ref ddl, sql, "countryId", "countryName", defaultValue, "Select");
  179. }
  180. private void Authenticate()
  181. {
  182. _sdd.CheckAuthentication(ViewFunctionId);
  183. }
  184. protected void Back_Click(object sender, EventArgs e)
  185. {
  186. Response.Redirect("List.aspx");
  187. }
  188. private void LoadState(ref DropDownList ddl, string countryId, string defaultValue)
  189. {
  190. //string sql = "EXEC proc_countryStateMaster @flag = 'csl', @countryId = " + _sdd.FilterString(countryId);
  191. //_sdd.SetDDL3(ref ddl, sql, "stateId", "stateName", defaultValue, "Select");
  192. string sql = "exec proc_dropdown_remit @flag='filterState', @countryId = '" + country.SelectedValue + "'";
  193. _sdd.SetDDL3(ref ddl, sql, "stateId", "stateName", defaultValue, "select");
  194. }
  195. private void LoadDistrict(ref DropDownList ddl, string zone, string defaultValue)
  196. {
  197. string sql = "EXEC proc_zoneDistrictMap @flag = 'l', @zone = " + _sdd.FilterString(zone);
  198. _sdd.SetDDL3(ref ddl, sql, "districtName", "districtName", defaultValue, "Select");
  199. }
  200. //private void LoadIdType(ref DropDownList ddl, string defaultValue)
  201. //{
  202. // string sql = "EXEC proc_countryIdType @flag = 'il', @countryId='113', @spFlag = '5201'";
  203. // _sdd.SetDDL3(ref ddl, sql, "valueId", "detailTitle", defaultValue, "Select");
  204. //}
  205. //private void LoadIdIssuePlace(ref DropDownList ddl, string defaultValue)
  206. //{
  207. // var IdType = hddIdType.Value;
  208. // string sql = "EXEC proc_IdIssuedPlace ";
  209. // sql += " @user = '" + GetStatic.GetUser() + "'";
  210. // sql += ", @idType = '" + IdType + "'";
  211. // _sdd.SetDDL3(ref ddl, sql, "valueId", "detailTitle", defaultValue, "Select");
  212. //}
  213. private void PopulateByMembershipId()
  214. {
  215. DataTable dt = obj.SelectByMemId(GetStatic.GetUser(), cardNo.Text.Trim());
  216. if (dt == null || dt.Rows.Count == 0)
  217. {
  218. GetStatic.AlertMessage(Page, "Invalid Membership ID.");
  219. return;
  220. }
  221. name.Text = dt.Rows[0]["fullName"].ToString();
  222. address.Text = dt.Rows[0]["address"].ToString();
  223. dob.Text = dt.Rows[0]["dobEng"].ToString();
  224. dobBs.Text = dt.Rows[0]["dobNep"].ToString();
  225. IdNumber.Text = dt.Rows[0]["citizenshipNo"].ToString();
  226. relativesName.Text = dt.Rows[0]["fatherName"].ToString();
  227. contact.Text = dt.Rows[0]["mobile"].ToString();
  228. country.Text = dt.Rows[0]["pCountry"].ToString();
  229. hddidPlaceIssue.Value = dt.Rows[0]["placeOfIssue"].ToString();
  230. hddIdType.Value = dt.Rows[0]["idType1"].ToString().Split('|')[0];
  231. idType.Text = dt.Rows[0]["idType"].ToString();
  232. // LoadIdType(ref IdType, dt.Rows[0]["idType"].ToString());
  233. EnableFields(false);
  234. }
  235. private void EnableFields(bool doEnable)
  236. {
  237. cardNo.ReadOnly = !doEnable;
  238. name.ReadOnly = !doEnable;
  239. address.ReadOnly = !doEnable;
  240. dob.ReadOnly = !doEnable;
  241. dobBs.ReadOnly = !doEnable;
  242. IdNumber.ReadOnly = !doEnable;
  243. relativesName.ReadOnly = !doEnable;
  244. contact.ReadOnly = !doEnable;
  245. country.Enabled = doEnable;
  246. idType.ReadOnly = !doEnable;
  247. }
  248. private void DoClear()
  249. {
  250. name.Text = "";
  251. address.Text = "";
  252. dob.Text = "";
  253. dobBs.Text = "";
  254. IdNumber.Text = "";
  255. relativesName.Text = "";
  256. contact.Text = "";
  257. cardNo.Text = "";
  258. remarks.Text = "";
  259. aka.Text = "";
  260. DataSource.Text = "";
  261. PopulateDdl(null);
  262. cardNo.Focus();
  263. idType.Text = "";
  264. // GetStatic.CallJSFunction(this, "LoadCalender()");
  265. }
  266. protected void btnFind_Click(object sender, EventArgs e)
  267. {
  268. PopulateByMembershipId();
  269. }
  270. protected void btnClear_Click(object sender, EventArgs e)
  271. {
  272. EnableFields(true);
  273. DoClear();
  274. }
  275. //protected void IdType_SelectedIndexChanged(object sender, EventArgs e)
  276. //{
  277. // // GetStatic.CallJSFunction(this, "LoadCalender()");
  278. // if (!string.IsNullOrEmpty(IdType.Text))
  279. // hddIdType.Value = IdType.Text;
  280. // // LoadIdIssuePlace(ref idPlaceIssue, "");
  281. //}
  282. }
  283. }