Guest User

Untitled

a guest
Jan 23rd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.31 KB | None | 0 0
  1. public void EnterFilterData(string filterName, string data = null)
  2. {
  3. //TODO: Need to break this method up per section
  4. _filterButton.Click();
  5.  
  6. var filterInput = SelectFilter(filterName);
  7.  
  8. string colName = "";
  9. string whereClause = "";
  10.  
  11. if (filterName.ToLower().Contains("date"))
  12. {
  13. var filterInputTwo = SelectFilter(filterName.Replace("From", "To"));
  14. filterInput.EnterData(DateTime.Now.AddDays(-2).ToString("dd/MM/yyy"));
  15. filterInputTwo.EnterData(DateTime.Now.ToString("dd/MM/yyy"));
  16. data = DateTime.Now.AddDays(-2).ToString("dd/MM/yyy");
  17. }
  18. else if (filterName.ToLower().Contains("range"))
  19. {
  20. var filterInputTwo = SelectFilter(filterName.Replace("From", "To"));
  21. filterInput.EnterData("5");
  22. filterInputTwo.EnterData("10");
  23. data = "5";
  24. }
  25. else
  26. {
  27. if (string.IsNullOrEmpty(data))
  28. {
  29. switch (filterName.ToLower())
  30. {
  31. case "person reference":
  32. colName = "t.person_reference";
  33. whereClause = "WHERE b.deal_ref IS NOT NULL";
  34. break;
  35. case "person name":
  36. colName = "t.person_name";
  37. break;
  38. case "client type reference":
  39. colName = "c.party_type_ref";
  40. break;
  41. case "party reference":
  42. case "client reference":
  43. colName = "c.party_ref";
  44. whereClause = "WHERE b.deal_ref IS NOT NULL";
  45. break;
  46. case "party":
  47. case "client name":
  48. colName = "c.party_name";
  49. break;
  50. case "external reference":
  51. colName = "substring(sql select string)";
  52. break;
  53. case "status":
  54. colName = "cs.name";
  55. break;
  56. case "dealing allowed":
  57. colName = "c.is_dealing_allowed";
  58. break;
  59. case "portfolio reference":
  60. colName = "p.portfolio_ref";
  61. whereClause = "WHERE b.deal_ref IS NOT NULL";
  62. break;
  63. case "portfolio name":
  64. colName = "p.portfolio_name";
  65. break;
  66. case "deal reference":
  67. colName = "b.deal_ref";
  68. break;
  69. case "outstanding":
  70. colName = "b.outstanding";
  71. whereClause = $"WHERE {colName} = 1";
  72. break;
  73. case "isin":
  74. colName = "b.isin";
  75. break;
  76. case "epic":
  77. colName = "b.instrument_epic";
  78. break;
  79. case "deal type":
  80. colName = "bt.deal_type_ref";
  81. break;
  82. case "account reference":
  83. colName = "ta.account_ref";
  84. whereClause = "WHERE ta.account_ref IS NOT NULL AND b.deal_ref IS NOT NULL";
  85. break;
  86. case "depot reference":
  87. colName = "b.depot_ref";
  88. break;
  89. case "deal status":
  90. colName = "bs.deal_status_ref";
  91. break;
  92. }
  93.  
  94. var sql = $"SELECT top 1 {colName} " +
  95. $"FROM SQLTABLE
  96. $"{whereClause} " +
  97. $"ORDER BY NEWID() desc";
  98.  
  99. data = Utilities.SendSql("DB", sql);
  100. }
  101.  
  102. if (filterInput.TagName.Equals("select"))
  103. {
  104. switch (data)
  105. {
  106. case "0":
  107. case "False":
  108. data = "No";
  109. break;
  110. case "1":
  111. case "True":
  112. data = "Yes";
  113. break;
  114. }
  115. filterInput.SelectDropDownItem(_driver, data);
  116. }
  117. else
  118. {
  119. filterInput.EnterData(data);
  120. }
  121. }
  122.  
  123. _filterOkayButton.Click();
  124. _driver.SyncPage(1);
  125.  
  126. if (filterName.ToLower().Contains("deal status"))
  127. {
  128. ScenarioContext.Current["FilterData"] = Utilities.SendSql("broker",
  129. "select deal_status_name from wins_trading.deal_status " +
  130. $"where deal_status_ref = '{data}'").ToArray()[0];
  131. }
  132. else if (filterName.ToLower().Contains("deal type"))
  133. {
  134. ScenarioContext.Current["FilterData"] = Utilities.SendSql("broker",
  135. "select deal_type_name from wins_trading.deal_type " +
  136. $"where deal_type_ref = '{data}'").ToArray()[0];
  137. }
  138. else if (filterName.ToLower().Contains("outstanding"))
  139. {
  140. ScenarioContext.Current["FilterData"] = data.Equals("Yes") ? "Outstanding" : "Matched";
  141. }
  142. else
  143. {
  144. ScenarioContext.Current["FilterData"] = data;
  145. }
  146. }
  147.  
  148. enter code heresprivate IWebElement SelectFilter(string filterName)
  149. {
  150. var type = "";
  151. switch (filterName.ToLower())
  152. {
  153. case "person reference":
  154. filterName = "person Reference";
  155. type = "div/input";
  156. break;
  157. case "client type reference":
  158. filterName = "Client Type Reference";
  159. type = "div/input";
  160. break;
  161. case "client reference":
  162. filterName = "Client Reference";
  163. type = "div/input";
  164. break;
  165. case "portfolio reference":
  166. filterName = "Portfolio Reference";
  167. type = "div/input";
  168. break;
  169. case "client name":
  170. filterName = "Client Name";
  171. type = "input";
  172. break;
  173. case "external reference":
  174. filterName = "External Reference";
  175. type = "input";
  176. break;
  177. case "status":
  178. case "deal status":
  179. filterName = "Status";
  180. type = "select";
  181. break;
  182. case "dealing allowed":
  183. filterName = "Dealing Allowed";
  184. type = "select";
  185. break;
  186. case "party":
  187. filterName = "party";
  188. type = "input";
  189. break;
  190. case "portfolio name":
  191. filterName = "Portfolio Name";
  192. type = "input";
  193. break;
  194. case "person name":
  195. filterName = "person Name";
  196. type = "input";
  197. break;
  198. case "deal reference":
  199. filterName = "deal Reference";
  200. type = "input";
  201. break;
  202. case "outstanding":
  203. filterName = "Outstanding";
  204. type = "select";
  205. break;
  206. case "deal type":
  207. filterName = "deal Type";
  208. type = "input";
  209. break;
  210. case "isin":
  211. filterName = "ISIN";
  212. type = "input";
  213. break;
  214. case "epic":
  215. filterName = "Epic";
  216. type = "input";
  217. break;
  218. case "from deal date":
  219. filterName = "From Deal Date";
  220. type = "input";
  221. break;
  222. case "to deal date":
  223. filterName = "To Deal Date";
  224. type = "input";
  225. break;
  226. case "from settlement date":
  227. filterName = "From Settlement Date";
  228. type = "input";
  229. break;
  230. case "to settlement date":
  231. filterName = "To Settlement Date";
  232. type = "input";
  233. break;
  234. case "quantity range to":
  235. filterName = "Quantity range to";
  236. type = "input";
  237. break;
  238. case "quantity range from":
  239. filterName = "Quantity range From";
  240. type = "input";
  241. break;
  242. case "depot reference":
  243. filterName = "Depot"
  244. type = "input";
  245. break;
  246. case "account reference":
  247. filterName = "Account Reference";
  248. type = "input";
  249. break;
  250. }
  251. IWebElement e;
  252. try
  253. {
  254. e = _filterSectionLabel.FirstOrDefault(x => x.Text.Equals(filterName))
  255. .FindElement(By.XPath($"../{type}"));
  256. }
  257. catch (Exception)
  258. {
  259. Reporter.ReportStatus("Ignore above exception", Status.Done);
  260. e = _filterSectionLabel.FirstOrDefault(x => x.Text.Equals(filterName))
  261. .FindElement(By.XPath($"../div/input"));
  262. }
  263. return e;
  264. }
Add Comment
Please, Sign In to add comment