Fchongkong6hc.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. using System;
  2. using System.Collections.Generic;
  3. using CP.Cache;
  4. using CP.Common;
  5. using CP.Model;
  6. using System.Linq;
  7. namespace CP.Business
  8. {
  9. public class Fchongkong6hc
  10. {
  11. /// <summary>
  12. /// 缓存
  13. /// </summary>
  14. static WMCache cache = WMCache.GetCacheService();
  15. #region 所有香港彩数据
  16. /// <summary>
  17. /// 所有双色球数据
  18. /// </summary>
  19. /// <returns></returns>
  20. public static List<Hongkong6hc> GetFchk6List()
  21. {
  22. string key = string.Format(CacheKeys.FCHK6_DATALIST);
  23. List<Hongkong6hc> list = cache.GetObject<List<Hongkong6hc>>(key);
  24. if (list == null)
  25. {
  26. list = Hongkong6hcData.GetFchk6List();
  27. cache.AddObject(key, list, (int)CacheTime.Data);
  28. }
  29. return list;
  30. }
  31. #endregion
  32. /// <summary>
  33. /// 走势图上的今年的数据
  34. /// </summary>
  35. /// <param name="datalist"></param>
  36. /// <param name="Year"></param>
  37. /// <returns></returns>
  38. public static List<Hongkong6hc> GetFchk6List(ref List<Hongkong6hc> datalist, int Year)
  39. {
  40. List<Hongkong6hc> rlist = new List<Hongkong6hc>();
  41. rlist = datalist.Where(o => o.date.Year == Year).ToList();
  42. return rlist;
  43. }
  44. /// <summary>
  45. /// 根据当前出号和排名,查询出上一次出此号时的数据
  46. /// 主要用在遗漏上
  47. /// </summary>
  48. /// <param name="val"></param>
  49. /// <param name="rank"></param>
  50. /// <returns></returns>
  51. public static Hongkong6hc GetLasthk6Info(ref List<Hongkong6hc> list, int val, int rank)
  52. {
  53. Hongkong6hc info = new Hongkong6hc();
  54. if (list != null && list.Count > 0)
  55. {
  56. for (int i = rank - 2; i >= 0; i--)
  57. {
  58. List<int> kjh = new List<int> { list[i].n1, list[i].n2, list[i].n3, list[i].n4, list[i].n5, list[i].n6, list[i].n7 };
  59. if (kjh.Contains(val))
  60. {
  61. info = list[i];
  62. return info;
  63. }
  64. }
  65. }
  66. return info;
  67. }
  68. /// <summary>
  69. /// 特码段位上一次出现次数
  70. /// </summary>
  71. /// <param name="list"></param>
  72. /// <param name="val"></param>
  73. /// <param name="rank"></param>
  74. /// <returns></returns>
  75. public static Hongkong6hc GetLasthk6TmdwInfo(ref List<Hongkong6hc> list, int j, int[] shz, int[] ehz, int rank)
  76. {
  77. Hongkong6hc info = new Hongkong6hc();
  78. if (list != null && list.Count > 0)
  79. {
  80. for (int i = rank - 2; i >= 0; i--)
  81. {
  82. if (list[i].n7 >= shz[j] && list[i].n7 <= ehz[j])
  83. {
  84. info = list[i];
  85. return info;
  86. }
  87. }
  88. }
  89. return info;
  90. }
  91. /// <summary>
  92. /// 根据当前特码波色和排名,查询出上一次出此号时的特码波色
  93. /// 主要用在遗漏上
  94. /// </summary>
  95. /// <param name="val"></param>
  96. /// <param name="rank"></param>
  97. /// <returns></returns>
  98. public static Hongkong6hc GetLasthk6tmInfo(ref List<Hongkong6hc> list, int val, int rank, int[] Bs_red, int[] Bs_blue, int[] Bs_green)
  99. {
  100. Hongkong6hc info = new Hongkong6hc();
  101. if (list != null && list.Count > 0)
  102. {
  103. for (int i = rank - 2; i >= 0; i--)
  104. {
  105. if (Bs_red.Contains(val) && Bs_red.Contains(list[i].n7))
  106. {
  107. info = list[i];
  108. return info;
  109. }
  110. if (Bs_blue.Contains(val) && Bs_red.Contains(list[i].n7))
  111. {
  112. info = list[i];
  113. return info;
  114. }
  115. if (Bs_green.Contains(val) && Bs_red.Contains(list[i].n7))
  116. {
  117. info = list[i];
  118. return info;
  119. }
  120. }
  121. }
  122. return info;
  123. }
  124. /// <summary>
  125. /// 特码半波上一次出现排名
  126. /// </summary>
  127. /// <param name="list"></param>
  128. /// <param name="val"></param>
  129. /// <param name="rank"></param>
  130. /// <param name="Bs_red"></param>
  131. /// <param name="Bs_blue"></param>
  132. /// <param name="Bs_green"></param>
  133. /// <returns></returns>
  134. public static Hongkong6hc GetLasthk6tmbbInfo(ref List<Hongkong6hc> list, int val, int rank, int[] Bs_red, int[] Bs_blue, int[] Bs_green)
  135. {
  136. Hongkong6hc info = new Hongkong6hc();
  137. if (list != null && list.Count > 0)
  138. {
  139. for (int i = rank - 2; i >= 0; i--)
  140. {
  141. if (Bs_red.Contains(val) && Bs_red.Contains(list[i].n7) && list[i].n7 % 2 == val % 2)
  142. {
  143. info = list[i];
  144. return info;
  145. }
  146. if (Bs_blue.Contains(val) && Bs_red.Contains(list[i].n7) && list[i].n7 % 2 == val % 2)
  147. {
  148. info = list[i];
  149. return info;
  150. }
  151. if (Bs_green.Contains(val) && Bs_red.Contains(list[i].n7) && list[i].n7 % 2 == val % 2)
  152. {
  153. info = list[i];
  154. return info;
  155. }
  156. }
  157. }
  158. return info;
  159. }
  160. /// <summary>
  161. /// 特码单双走势上一次出现排名
  162. /// </summary>
  163. /// <param name="list"></param>
  164. /// <param name="val"></param>
  165. /// <param name="rank"></param>
  166. /// <param name="Bs_red"></param>
  167. /// <param name="Bs_blue"></param>
  168. /// <param name="Bs_green"></param>
  169. /// <returns></returns>
  170. public static Hongkong6hc GetLasthk6tmdsInfo(ref List<Hongkong6hc> list, int val, int rank)
  171. {
  172. Hongkong6hc info = new Hongkong6hc();
  173. if (list != null && list.Count > 0)
  174. {
  175. for (int i = rank - 2; i >= 0; i--)
  176. {
  177. if (list[i].n7 % 2 == val % 2)
  178. {
  179. info = list[i];
  180. return info;
  181. }
  182. }
  183. }
  184. return info;
  185. }
  186. /// <summary>
  187. /// 特头走势上一次出现排名
  188. /// </summary>
  189. /// <param name="list"></param>
  190. /// <param name="val"></param>
  191. /// <param name="rank"></param>
  192. /// <param name="Bs_red"></param>
  193. /// <param name="Bs_blue"></param>
  194. /// <param name="Bs_green"></param>
  195. /// <returns></returns>
  196. public static Hongkong6hc GetLasthk6ttzsInfo(ref List<Hongkong6hc> list, int val, int rank)
  197. {
  198. Hongkong6hc info = new Hongkong6hc();
  199. if (list != null && list.Count > 0)
  200. {
  201. for (int i = rank - 2; i >= 0; i--)
  202. {
  203. if (list[i].n7 / 10 == val / 10)
  204. {
  205. info = list[i];
  206. return info;
  207. }
  208. }
  209. }
  210. return info;
  211. }
  212. /// <summary>
  213. /// 特码尾数走势上一次出现排名
  214. /// </summary>
  215. /// <param name="list"></param>
  216. /// <param name="val"></param>
  217. /// <param name="rank"></param>
  218. /// <param name="Bs_red"></param>
  219. /// <param name="Bs_blue"></param>
  220. /// <param name="Bs_green"></param>
  221. /// <returns></returns>
  222. public static Hongkong6hc GetLasthk6twzsInfo(ref List<Hongkong6hc> list, int val, int rank)
  223. {
  224. Hongkong6hc info = new Hongkong6hc();
  225. if (list != null && list.Count > 0)
  226. {
  227. for (int i = rank - 2; i >= 0; i--)
  228. {
  229. if (list[i].n7 % 10 == val % 10)
  230. {
  231. info = list[i];
  232. return info;
  233. }
  234. }
  235. }
  236. return info;
  237. }
  238. /// <summary>
  239. /// 特码尾数大小
  240. /// </summary>
  241. /// <param name="list"></param>
  242. /// <param name="val"></param>
  243. /// <param name="rank"></param>
  244. /// <returns></returns>
  245. public static Hongkong6hc GetLasthk6twdxInfo(ref List<Hongkong6hc> list, int val, int rank)
  246. {
  247. Hongkong6hc info = new Hongkong6hc();
  248. if (list != null && list.Count > 0)
  249. {
  250. for (int i = rank - 2; i >= 0; i--)
  251. {
  252. if ((list[i].n7 % 10 < 5 && val % 10 < 5) || (list[i].n7 % 10 > 4 && val % 10 > 4))
  253. {
  254. info = list[i];
  255. return info;
  256. }
  257. }
  258. }
  259. return info;
  260. }
  261. /// <summary>
  262. /// 特头单双上一次排名
  263. /// </summary>
  264. /// <param name="list"></param>
  265. /// <param name="val"></param>
  266. /// <param name="rank"></param>
  267. /// <returns></returns>
  268. public static Hongkong6hc GetLasthk6ttdsInfo(ref List<Hongkong6hc> list, int val, int rank)
  269. {
  270. Hongkong6hc info = new Hongkong6hc();
  271. if (list != null && list.Count > 0)
  272. {
  273. for (int i = rank - 2; i >= 0; i--)
  274. {
  275. if ((val / 10 == 0 && list[i].n7 / 10 == 0) || (list[i].n7 / 10 % 2 == val / 10 % 2))
  276. {
  277. info = list[i];
  278. return info;
  279. }
  280. }
  281. }
  282. return info;
  283. }
  284. public static Hongkong6hc GetLasthk6hsdsInfo(ref List<Hongkong6hc> list, int val, int rank)
  285. {
  286. Hongkong6hc info = new Hongkong6hc();
  287. if (list != null && list.Count > 0)
  288. {
  289. for (int i = rank - 2; i >= 0; i--)
  290. {
  291. if ((list[i].n7 / 10 + list[i].n7 % 10) % 2 == (val / 10 + val % 10) % 2)
  292. {
  293. info = list[i];
  294. return info;
  295. }
  296. }
  297. }
  298. return info;
  299. }
  300. }
  301. }