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.

268 lines
9.4 KiB

  1. using Swift.DAL.BL.Remit.Administration;
  2. using Swift.DAL.SwiftDAL;
  3. using Swift.web.Component.Grid;
  4. using Swift.web.Component.Grid.gridHelper;
  5. using Swift.web.Component.Tab;
  6. using Swift.web.Library;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Data;
  10. using System.Web.UI;
  11. using System.Web.UI.WebControls;
  12. namespace Swift.web.Remit.Administration.CountrySetup
  13. {
  14. public partial class CountryCurrency : Page
  15. {
  16. private const string ViewFunctionId = "20101200";
  17. private const string AddEditFunctionId = "20101210";
  18. private const string DeleteFunctionId = "20101220";
  19. protected const string GridName = "grd_cc";
  20. private readonly SwiftGrid grid = new SwiftGrid();
  21. private readonly SwiftTab _tab = new SwiftTab();
  22. private readonly CountryDao obj = new CountryDao();
  23. private readonly StaticDataDdl sdd = new StaticDataDdl();
  24. private readonly RemittanceLibrary swiftLibrary = new RemittanceLibrary();
  25. protected void Page_Load(object sender, EventArgs e)
  26. {
  27. if (!IsPostBack)
  28. {
  29. Authenticate();
  30. PopulateDdl(null);
  31. if (GetCountryId() > 0)
  32. {
  33. //PopulateDataById();
  34. }
  35. else
  36. {
  37. //Your code goes here
  38. }
  39. LoadTab();
  40. }
  41. DeleteRow();
  42. LoadGrid();
  43. }
  44. #region Method
  45. protected string GetCountryName()
  46. {
  47. return "Country : " + swiftLibrary.GetCountryName(GetCountryId().ToString());
  48. }
  49. private long GetId()
  50. {
  51. return GetStatic.ReadNumericDataFromQueryString("countryCurrencyId");
  52. }
  53. protected long GetCountryId()
  54. {
  55. return GetStatic.ReadNumericDataFromQueryString("countryId");
  56. }
  57. private string GetOperationType()
  58. {
  59. return GetStatic.ReadQueryString("opType", "");
  60. }
  61. private void Authenticate()
  62. {
  63. swiftLibrary.CheckAuthentication(ViewFunctionId + "," + AddEditFunctionId);
  64. }
  65. private void LoadTab()
  66. {
  67. var countryId = GetCountryId().ToString();
  68. var opType = GetOperationType();
  69. var queryStrings = "?countryId=" + countryId + "&opType=" + opType;
  70. _tab.NoOfTabPerRow = 8;
  71. _tab.TabList = new List<TabField>
  72. {
  73. new TabField("Country Info", "Manage.aspx" + queryStrings),
  74. new TabField("State Setup", "StateSetup/List.aspx" + queryStrings),
  75. new TabField("Allowed Currency", "", true),
  76. new TabField("Mobile Format", "MobileFormat.aspx" + queryStrings),
  77. new TabField("Valid ID Setup", "CountryIdSetup.aspx" + queryStrings),
  78. new TabField("Promotional Rate Setup", "PromotionalRateSetup/List.aspx" + queryStrings),
  79. };
  80. switch (opType)
  81. {
  82. case "B":
  83. _tab.TabList.Add(new TabField("Collection Mode", "CollectionMode/List.aspx" + queryStrings));
  84. _tab.TabList.Add(new TabField("Receiving Mode", "ReceivingMode/List.aspx" + queryStrings));
  85. break;
  86. case "S":
  87. _tab.TabList.Add(new TabField("Collection Mode", "CollectionMode/List.aspx" + queryStrings));
  88. break;
  89. case "R":
  90. _tab.TabList.Add(new TabField("Receiving Mode", "ReceivingMode/List.aspx" + queryStrings));
  91. break;
  92. }
  93. _tab.TabList.Add(new TabField("Event", "EventSetup/List.aspx" + queryStrings));
  94. divTab.InnerHtml = _tab.CreateTab();
  95. }
  96. private void PopulateDdl(DataRow dr)
  97. {
  98. spFlag.Items.Add(new ListItem("Select", ""));
  99. //switch (GetOperationType())
  100. //{
  101. // case "B":
  102. // spFlag.Items.Add(new ListItem("Both", "B"));
  103. // spFlag.Items.Add(new ListItem("Send", "S"));
  104. // spFlag.Items.Add(new ListItem("Receive", "R"));
  105. // break;
  106. // case "S":
  107. // spFlag.Items.Add(new ListItem("Send", "S"));
  108. // break;
  109. // case "R":
  110. // spFlag.Items.Add(new ListItem("Receive", "R"));
  111. // break;
  112. //}
  113. spFlag.Items.Add(new ListItem("Both", "B"));
  114. spFlag.Items.Add(new ListItem("Send", "S"));
  115. spFlag.Items.Add(new ListItem("Receive", "R"));
  116. sdd.SetDDL(ref currency, "EXEC proc_currencyMaster @flag = 'l'", "currencyId", "currencyCode",
  117. GetStatic.GetRowData(dr, "currencyId"), "Select");
  118. }
  119. private void PopulateDataById()
  120. {
  121. DataRow dr = obj.SelectCurrencyById(GetStatic.GetUser(), countryCurrencyId.Value);
  122. if (dr == null)
  123. return;
  124. currency.Text = dr["currencyId"].ToString();
  125. var spFl = dr["spFlag"].ToString();
  126. spFlag.SelectedValue = dr["spFlag"].ToString();
  127. isDefault.Text = GetStatic.GetRowData(dr, "isDefault");
  128. }
  129. private void Update()
  130. {
  131. DbResult dbResult = obj.UpdateCurrency(GetStatic.GetUser(), GetId().ToString(), GetCountryId().ToString(),
  132. currency.Text, spFlag.Text, isDefault.Text);
  133. ManageMessage(dbResult);
  134. }
  135. private void ManageMessage(DbResult dbResult)
  136. {
  137. GetStatic.SetMessage(dbResult);
  138. GetStatic.PrintMessage(Page);
  139. }
  140. private void LoadGrid()
  141. {
  142. grid.ColumnList = new List<GridColumn>
  143. {
  144. new GridColumn("currencyCode", "Currency Code", "", "T"),
  145. new GridColumn("currencyName", "Currency Name", "", "T"),
  146. new GridColumn("isDefault", "Is Default", "", "T"),
  147. new GridColumn("spFlag", "Applies For", "", "T")
  148. };
  149. bool allowAddEdit = swiftLibrary.HasRight(AddEditFunctionId);
  150. grid.GridType = 1;
  151. grid.GridDataSource = SwiftGrid.GridDS.RemittanceDB;
  152. grid.GridName = GridName;
  153. grid.ShowAddButton = allowAddEdit;
  154. grid.ShowFilterForm = false;
  155. grid.ShowPagingBar = false;
  156. grid.GridWidth = 450;
  157. grid.RowIdField = "countryCurrencyId";
  158. grid.CallBackFunction = "GridCallBack()";
  159. grid.DisableSorting = false;
  160. grid.ThisPage = "CountryCurrency.aspx";
  161. grid.MultiSelect = false;
  162. grid.ShowCheckBox = true;
  163. grid.SelectionCheckBoxList = grid.GetRowId();
  164. grid.AllowEdit = false;
  165. grid.AllowDelete = swiftLibrary.HasRight(DeleteFunctionId);
  166. string sql = "EXEC proc_countryCurrency @flag = 's', @countryId = " + GetCountryId();
  167. grid.SetComma();
  168. rpt_grid.InnerHtml = grid.CreateGrid(sql);
  169. }
  170. private void DeleteRow()
  171. {
  172. var obj = new CountryDao();
  173. string id = grid.GetCurrentRowId(GridName);
  174. if (string.IsNullOrEmpty(id))
  175. return;
  176. DbResult dbResult = obj.DeleteCurrency(GetStatic.GetUser(), id);
  177. ManageMessage(dbResult);
  178. LoadGrid();
  179. }
  180. private void Edit()
  181. {
  182. string id = grid.GetRowId();
  183. countryCurrencyId.Value = id;
  184. PopulateDataById();
  185. }
  186. #endregion Method
  187. #region Element Method
  188. protected void btnSumit_Click(object sender, EventArgs e)
  189. {
  190. Update();
  191. }
  192. protected void btnSave_Click(object sender, EventArgs e)
  193. {
  194. if (!isRefresh)
  195. Save();
  196. }
  197. private void Save()
  198. {
  199. DbResult dbResult = obj.UpdateCurrency(GetStatic.GetUser(), countryCurrencyId.Value,
  200. GetCountryId().ToString(), currency.Text, spFlag.Text, isDefault.Text);
  201. ManageMessage(dbResult);
  202. LoadGrid();
  203. }
  204. protected void btnEdit_Click(object sender, EventArgs e)
  205. {
  206. Edit();
  207. }
  208. #endregion Element Method
  209. #region Browser Refresh
  210. private bool refreshState;
  211. private bool isRefresh;
  212. protected override void LoadViewState(object savedState)
  213. {
  214. object[] AllStates = (object[])savedState;
  215. base.LoadViewState(AllStates[0]);
  216. refreshState = bool.Parse(AllStates[1].ToString());
  217. if (Session["ISREFRESH"] != null && Session["ISREFRESH"] != "")
  218. isRefresh = (refreshState == (bool)Session["ISREFRESH"]);
  219. }
  220. protected override object SaveViewState()
  221. {
  222. Session["ISREFRESH"] = refreshState;
  223. object[] AllStates = new object[3];
  224. AllStates[0] = base.SaveViewState();
  225. AllStates[1] = !(refreshState);
  226. return AllStates;
  227. }
  228. #endregion Browser Refresh
  229. }
  230. }