/HelperAgain/Data/Utility.cs

https://github.com/balaji/Cricketers · C# · 240 lines · 231 code · 9 blank · 0 comment · 15 complexity · a6a02bab6948f0a1daaf6a9b40dd2685 MD5 · raw file

  1. using System.Data.Linq;
  2. using Newtonsoft.Json;
  3. using RestSharp;
  4. using Cricketers.Database;
  5. using Helper.Data;
  6. using System.Windows.Controls;
  7. using System.Windows;
  8. using System.Linq;
  9. namespace Cricketers.Data
  10. {
  11. public class Utility
  12. {
  13. public void Extract()
  14. {
  15. RestClient cli = new RestClient("http://192.168.217.128:81/");
  16. RestRequest request = new RestRequest("/profile/_temp_view", Method.POST);
  17. request.RequestFormat = DataFormat.Json;
  18. CouchJson json = new CouchJson();
  19. json.map = @"function(doc) {
  20. if(doc.bat['ODIs'] || doc.bowl['ODIs']) emit(doc,null);
  21. }";
  22. request.AddBody(json);
  23. cli.ExecuteAsync(request, delegate(RestResponse re)
  24. {
  25. CouchResponse docs = JsonConvert.DeserializeObject<CouchResponse>(re.Content);
  26. foreach (CouchData data in docs.rows)
  27. {
  28. Document doc = data.key;
  29. EntitySet<Team> teams = new EntitySet<Team>();
  30. foreach (string team in doc.profile.Teams)
  31. {
  32. teams.Add(new Team { Name = team });
  33. }
  34. EntitySet<Debut> debuts = new EntitySet<Debut>();
  35. if (!doc.debut.odi.Equals("-")) debuts.Add(new Debut { MatchType = 0, Match = doc.debut.odi });
  36. if (!doc.debut.test.Equals("-")) debuts.Add(new Debut { MatchType = 1, Match = doc.debut.test });
  37. if (!doc.debut.firstClass.Equals("-")) debuts.Add(new Debut { MatchType = 2, Match = doc.debut.firstClass });
  38. if (!doc.debut.t20i.Equals("-")) debuts.Add(new Debut { MatchType = 3, Match = doc.debut.t20i });
  39. if (!doc.debut.twenty20.Equals("-")) debuts.Add(new Debut { MatchType = 4, Match = doc.debut.twenty20 });
  40. EntitySet<BattingStat> battingStats = new EntitySet<BattingStat>();
  41. if (!doc.bat.odi.matches.Equals("-"))
  42. battingStats.Add(new BattingStat
  43. {
  44. MatchType = 0,
  45. Runs = doc.bat.odi.runs,
  46. Fours = doc.bat.odi.fours,
  47. Sixes = doc.bat.odi.sixes,
  48. Fifties = doc.bat.odi.fifties,
  49. Hundreds = doc.bat.odi.hundreds,
  50. Innings = doc.bat.odi.innings,
  51. HighScore = doc.bat.odi.highScore,
  52. Average = doc.bat.odi.average,
  53. Catches = doc.bat.odi.catches,
  54. Matches = doc.bat.odi.matches,
  55. StrikeRate = doc.bat.odi.strikeRate,
  56. Stumpings = doc.bat.odi.stumpings
  57. });
  58. if (!doc.bat.test.matches.Equals("-"))
  59. battingStats.Add(new BattingStat
  60. {
  61. MatchType = 1,
  62. Runs = doc.bat.test.runs,
  63. Fours = doc.bat.test.fours,
  64. Sixes = doc.bat.test.sixes,
  65. Fifties = doc.bat.test.fifties,
  66. Hundreds = doc.bat.test.hundreds,
  67. Innings = doc.bat.test.innings,
  68. HighScore = doc.bat.test.highScore,
  69. Average = doc.bat.test.average,
  70. Catches = doc.bat.test.catches,
  71. Matches = doc.bat.test.matches,
  72. StrikeRate = doc.bat.test.strikeRate,
  73. Stumpings = doc.bat.test.stumpings
  74. });
  75. if (!doc.bat.firstClass.matches.Equals("-"))
  76. battingStats.Add(new BattingStat
  77. {
  78. MatchType = 2,
  79. Runs = doc.bat.firstClass.runs,
  80. Fours = doc.bat.firstClass.fours,
  81. Sixes = doc.bat.firstClass.sixes,
  82. Fifties = doc.bat.firstClass.fifties,
  83. Hundreds = doc.bat.firstClass.hundreds,
  84. Innings = doc.bat.firstClass.innings,
  85. HighScore = doc.bat.firstClass.highScore,
  86. Average = doc.bat.firstClass.average,
  87. Catches = doc.bat.firstClass.catches,
  88. Matches = doc.bat.firstClass.matches,
  89. StrikeRate = doc.bat.firstClass.strikeRate,
  90. Stumpings = doc.bat.firstClass.stumpings
  91. });
  92. if (!doc.bat.twenty20.matches.Equals("-"))
  93. battingStats.Add(new BattingStat
  94. {
  95. MatchType = 4,
  96. Runs = doc.bat.twenty20.runs,
  97. Fours = doc.bat.twenty20.fours,
  98. Sixes = doc.bat.twenty20.sixes,
  99. Fifties = doc.bat.twenty20.fifties,
  100. Hundreds = doc.bat.twenty20.hundreds,
  101. Innings = doc.bat.twenty20.innings,
  102. HighScore = doc.bat.twenty20.highScore,
  103. Average = doc.bat.twenty20.average,
  104. Catches = doc.bat.twenty20.catches,
  105. Matches = doc.bat.twenty20.matches,
  106. StrikeRate = doc.bat.twenty20.strikeRate,
  107. Stumpings = doc.bat.twenty20.stumpings
  108. });
  109. if (!doc.bat.t20i.matches.Equals("-"))
  110. battingStats.Add(new BattingStat
  111. {
  112. MatchType = 3,
  113. Runs = doc.bat.t20i.runs,
  114. Fours = doc.bat.t20i.fours,
  115. Sixes = doc.bat.t20i.sixes,
  116. Fifties = doc.bat.t20i.fifties,
  117. Hundreds = doc.bat.t20i.hundreds,
  118. Innings = doc.bat.t20i.innings,
  119. HighScore = doc.bat.t20i.highScore,
  120. Average = doc.bat.t20i.average,
  121. Catches = doc.bat.t20i.catches,
  122. Matches = doc.bat.t20i.matches,
  123. StrikeRate = doc.bat.t20i.strikeRate,
  124. Stumpings = doc.bat.t20i.stumpings
  125. });
  126. EntitySet<BowlingStat> bowlingStats = new EntitySet<BowlingStat>();
  127. if (!doc.bowl.odi.matches.Equals("-"))
  128. bowlingStats.Add(new BowlingStat
  129. {
  130. MatchType = 0,
  131. Matches = doc.bowl.odi.matches,
  132. Average = doc.bowl.odi.average,
  133. Balls = doc.bowl.odi.balls,
  134. Wickets = doc.bowl.odi.wickets,
  135. EconomyRate = doc.bowl.odi.economy,
  136. StrikeRate = doc.bowl.odi.strikeRate,
  137. InningsBest = doc.bowl.odi.inningsBest,
  138. MatchBest = doc.bowl.odi.matchBest,
  139. Innings = doc.bowl.odi.innings,
  140. Fives = doc.bowl.odi.fives,
  141. Fours = doc.bowl.odi.fours,
  142. Tens = doc.bowl.odi.tens
  143. });
  144. if (!doc.bowl.test.matches.Equals("-"))
  145. bowlingStats.Add(new BowlingStat
  146. {
  147. MatchType = 1,
  148. Matches = doc.bowl.test.matches,
  149. Average = doc.bowl.test.average,
  150. Balls = doc.bowl.test.balls,
  151. Wickets = doc.bowl.test.wickets,
  152. EconomyRate = doc.bowl.test.economy,
  153. StrikeRate = doc.bowl.test.strikeRate,
  154. InningsBest = doc.bowl.test.inningsBest,
  155. MatchBest = doc.bowl.test.matchBest,
  156. Innings = doc.bowl.test.innings,
  157. Fives = doc.bowl.test.fives,
  158. Fours = doc.bowl.test.fours,
  159. Tens = doc.bowl.test.tens
  160. });
  161. if (!doc.bowl.firstClass.matches.Equals("-"))
  162. bowlingStats.Add(new BowlingStat
  163. {
  164. MatchType = 2,
  165. Matches = doc.bowl.firstClass.matches,
  166. Average = doc.bowl.firstClass.average,
  167. Balls = doc.bowl.firstClass.balls,
  168. Wickets = doc.bowl.firstClass.wickets,
  169. EconomyRate = doc.bowl.firstClass.economy,
  170. StrikeRate = doc.bowl.firstClass.strikeRate,
  171. InningsBest = doc.bowl.firstClass.inningsBest,
  172. MatchBest = doc.bowl.firstClass.matchBest,
  173. Innings = doc.bowl.firstClass.innings,
  174. Fives = doc.bowl.firstClass.fives,
  175. Fours = doc.bowl.firstClass.fours,
  176. Tens = doc.bowl.firstClass.tens
  177. });
  178. if (!doc.bowl.t20i.matches.Equals("-"))
  179. bowlingStats.Add(new BowlingStat
  180. {
  181. MatchType = 3,
  182. Matches = doc.bowl.t20i.matches,
  183. Average = doc.bowl.t20i.average,
  184. Balls = doc.bowl.t20i.balls,
  185. Wickets = doc.bowl.t20i.wickets,
  186. EconomyRate = doc.bowl.t20i.economy,
  187. StrikeRate = doc.bowl.t20i.strikeRate,
  188. InningsBest = doc.bowl.t20i.inningsBest,
  189. MatchBest = doc.bowl.t20i.matchBest,
  190. Innings = doc.bowl.t20i.innings,
  191. Fives = doc.bowl.t20i.fives,
  192. Fours = doc.bowl.t20i.fours,
  193. Tens = doc.bowl.t20i.tens
  194. });
  195. if (!doc.bowl.twenty20.matches.Equals("-"))
  196. bowlingStats.Add(new BowlingStat
  197. {
  198. MatchType = 4,
  199. Matches = doc.bowl.twenty20.matches,
  200. Average = doc.bowl.twenty20.average,
  201. Balls = doc.bowl.twenty20.balls,
  202. Wickets = doc.bowl.twenty20.wickets,
  203. EconomyRate = doc.bowl.twenty20.economy,
  204. StrikeRate = doc.bowl.twenty20.strikeRate,
  205. InningsBest = doc.bowl.twenty20.inningsBest,
  206. MatchBest = doc.bowl.twenty20.matchBest,
  207. Innings = doc.bowl.twenty20.innings,
  208. Fives = doc.bowl.twenty20.fives,
  209. Fours = doc.bowl.twenty20.fours,
  210. Tens = doc.bowl.twenty20.tens
  211. });
  212. Profile p = new Profile
  213. {
  214. Country = doc.country,
  215. Born = doc.profile.Born,
  216. BattingStyle = doc.profile.battingStyle,
  217. BowlingStyle = doc.profile.bowlingStyle,
  218. FieldingPosition = doc.profile.fieldingPosition,
  219. Name = doc.profile.Name,
  220. Teams = teams,
  221. Debuts = debuts,
  222. BattingStats = battingStats,
  223. BowlingStats = bowlingStats
  224. };
  225. App.DB.Profiles.InsertOnSubmit(p);
  226. }
  227. App.DB.SubmitChanges();
  228. });
  229. }
  230. }
  231. }