TCP3Manage.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Common;
  5. using System.Data.SqlClient;
  6. using System.Text;
  7. using CB.Common;
  8. using CB.Data;
  9. using CB.Entity;
  10. using CB.Interface.Infrastructure;
  11. namespace CB.Data.SqlServer
  12. {
  13. public class TCP3Manage : Repository<TCP3Info>, ITCP3Service
  14. {
  15. public TCP3Manage(string interfaceId)
  16. : base(interfaceId)
  17. {
  18. }
  19. public override bool Save(TCP3Info entity)
  20. {
  21. DbParameter[] pars ={
  22. DbHelper.MakeInParam(InterfaceId,"@Term",(DbType)SqlDbType.Int,4,entity.Term),
  23. DbHelper.MakeInParam(InterfaceId,"@OpenCode1",(DbType)SqlDbType.Int,4,entity.OpenCode1),
  24. DbHelper.MakeInParam(InterfaceId,"@OpenCode2",(DbType)SqlDbType.Int,4,entity.OpenCode2),
  25. DbHelper.MakeInParam(InterfaceId,"@OpenCode3",(DbType)SqlDbType.Int,4,entity.OpenCode3),
  26. DbHelper.MakeInParam(InterfaceId,"@OpenCode4",(DbType)SqlDbType.Int,4,entity.OpenCode4),
  27. DbHelper.MakeInParam(InterfaceId,"@OpenCode5",(DbType)SqlDbType.Int,4,entity.OpenCode5),
  28. DbHelper.MakeInParam(InterfaceId,"@OpenTime",(DbType)SqlDbType.DateTime,0,entity.OpenTime),
  29. DbHelper.MakeInParam(InterfaceId,"@ShiJiHao",(DbType)SqlDbType.NVarChar,0,entity.ShiJiHao),
  30. DbHelper.MakeInParam(InterfaceId,"@KaiJiHao",(DbType)SqlDbType.NVarChar,0,entity.KaiJiHao),
  31. DbHelper.MakeInParam(InterfaceId,"@Detail",(DbType)SqlDbType.NVarChar,500,entity.Detail)
  32. };
  33. return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_TCP3_save", pars)) > 0;
  34. }
  35. public override bool Update(TCP3Info entity)
  36. {
  37. DbParameter[] pars ={
  38. DbHelper.MakeInParam(InterfaceId,"@Term",(DbType)SqlDbType.Int,4,entity.Term),
  39. DbHelper.MakeInParam(InterfaceId,"@OpenCode1",(DbType)SqlDbType.Int,4,entity.OpenCode1),
  40. DbHelper.MakeInParam(InterfaceId,"@OpenCode2",(DbType)SqlDbType.Int,4,entity.OpenCode2),
  41. DbHelper.MakeInParam(InterfaceId,"@OpenCode3",(DbType)SqlDbType.Int,4,entity.OpenCode3),
  42. DbHelper.MakeInParam(InterfaceId,"@OpenCode4",(DbType)SqlDbType.Int,4,entity.OpenCode4),
  43. DbHelper.MakeInParam(InterfaceId,"@OpenCode5",(DbType)SqlDbType.Int,4,entity.OpenCode5),
  44. DbHelper.MakeInParam(InterfaceId,"@OpenTime",(DbType)SqlDbType.DateTime,0,entity.OpenTime),
  45. DbHelper.MakeInParam(InterfaceId,"@ShiJiHao",(DbType)SqlDbType.NVarChar,0,entity.ShiJiHao),
  46. DbHelper.MakeInParam(InterfaceId,"@KaiJiHao",(DbType)SqlDbType.NVarChar,0,entity.KaiJiHao),
  47. DbHelper.MakeInParam(InterfaceId,"@Detail",(DbType)SqlDbType.NVarChar,500,entity.Detail)
  48. };
  49. return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_TCP3_save", pars)) > 0;
  50. }
  51. public override bool Delete(int id)
  52. {
  53. DbParameter[] pars ={
  54. DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,id)
  55. };
  56. return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId,CommandType.StoredProcedure, "usp_TCP3_Delete", pars)) > 0;
  57. }
  58. public override TCP3Info Get<TKey>(TKey key)
  59. {
  60. TCP3Info Entity = null;
  61. DbParameter[] para =
  62. {
  63. DbHelper.MakeInParam(InterfaceId,"@Id",(DbType)SqlDbType.Int,4,key)
  64. };
  65. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.Text,
  66. "SELECT TOP 1 [Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_TCP3] WHERE [Id]=@Id",
  67. para))
  68. {
  69. if (reader.Read())
  70. {
  71. Entity = LoadEntity(reader);
  72. }
  73. reader.Dispose();
  74. }
  75. return Entity;
  76. }
  77. public override IList<TCP3Info> ToList()
  78. {
  79. IList<TCP3Info> list = new List<TCP3Info>();
  80. using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,
  81. "SELECT [Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime] FROM [DT_TCP3] ORDER BY [Term] ASC"))
  82. {
  83. if (null != dt && 0 < dt.Rows.Count)
  84. {
  85. foreach (DataRow dr in dt.Rows)
  86. {
  87. list.Add(LoadEntity(dr));
  88. }
  89. }
  90. dt.Dispose();
  91. }
  92. return list;
  93. }
  94. public override IList<TCP3Info> ToList(TCP3Info entity)
  95. {
  96. throw new NotImplementedException();
  97. }
  98. public override IList<TCP3Info> ToPaging(TCP3Info entity, int pageSize, int pageIndex, out int recordCount)
  99. {
  100. string where = "1=1 ";
  101. if (null != entity)
  102. {
  103. if (entity.Term > 0)
  104. where += " AND [Term]=" + entity.Term;
  105. }
  106. recordCount = 0;
  107. string field = "[Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime]"
  108. , orderField = "[Term] DESC"
  109. , tableName = "DT_TCP3";
  110. DbParameter[] para =
  111. {
  112. DbHelper.MakeInParam(InterfaceId,"@pageSize",(DbType)SqlDbType.Int,4,pageSize),
  113. DbHelper.MakeInParam(InterfaceId,"@page",(DbType)SqlDbType.Int,4,pageIndex),
  114. DbHelper.MakeInParam(InterfaceId,"@tableName",(DbType)SqlDbType.NVarChar,500,tableName),
  115. DbHelper.MakeInParam(InterfaceId,"@field",(DbType)SqlDbType.NVarChar,1000,field),
  116. DbHelper.MakeInParam(InterfaceId,"@orderField",(DbType)SqlDbType.NVarChar,50,orderField),
  117. DbHelper.MakeInParam(InterfaceId,"@where",(DbType)SqlDbType.NVarChar,2000,where)
  118. };
  119. IList<TCP3Info> list = new List<TCP3Info>();
  120. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "usp_st_page", para))
  121. {
  122. while (reader.Read())
  123. {
  124. list.Add(LoadEntity(reader));
  125. }
  126. if (reader.NextResult() && reader.Read())
  127. {
  128. recordCount = reader.GetInt32(0);
  129. }
  130. reader.Dispose();
  131. }
  132. return list;
  133. }
  134. protected override TCP3Info LoadEntity(DataRow dr)
  135. {
  136. TCP3Info entity = new TCP3Info
  137. {
  138. Id = TypeConverter.ObjectToInt(dr["Id"]),
  139. Term = TypeConverter.ObjectToInt(dr["Term"]),
  140. OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
  141. OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
  142. OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
  143. OpenCode4 = TypeConverter.ObjectToInt(dr["OpenCode4"]),
  144. OpenCode5 = TypeConverter.ObjectToInt(dr["OpenCode5"]),
  145. OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
  146. ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
  147. KaiJiHao = dr["KaiJiHao"].ToString().Trim(),
  148. Detail = dr["Detail"].ToString(),
  149. Addtime = TypeConverter.ObjectToDateTime(dr["Addtime"], DateTime.MinValue)
  150. };
  151. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  152. return entity;
  153. }
  154. protected override TCP3Info LoadEntity(IDataReader reader)
  155. {
  156. TCP3Info entity = new TCP3Info
  157. {
  158. Id = TypeConverter.ObjectToInt(reader["Id"]),
  159. Term = TypeConverter.ObjectToInt(reader["Term"]),
  160. OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]),
  161. OpenCode2 = TypeConverter.ObjectToInt(reader["OpenCode2"]),
  162. OpenCode3 = TypeConverter.ObjectToInt(reader["OpenCode3"]),
  163. OpenCode4 = TypeConverter.ObjectToInt(reader["OpenCode4"]),
  164. OpenCode5 = TypeConverter.ObjectToInt(reader["OpenCode5"]),
  165. OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue),
  166. ShiJiHao = reader["ShiJiHao"].ToString().Trim(),
  167. KaiJiHao = reader["KaiJiHao"].ToString().Trim(),
  168. Detail = reader["Detail"].ToString(),
  169. Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue)
  170. };
  171. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  172. return entity;
  173. }
  174. public IList<TCP3Info> ToListForTrend(long term, LotterySearchField fields)
  175. {
  176. IList<TCP3Info> list = new List<TCP3Info>();
  177. DbParameter[] para;
  178. int numRepeat = null == fields ? 0 : fields.NumRepeat;
  179. switch (numRepeat)
  180. {
  181. //组三
  182. case 1:
  183. para = new DbParameter[]
  184. {
  185. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,400,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]<=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) ORDER BY [Term] DESC"),
  186. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  187. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  188. };
  189. break;
  190. //豹子
  191. case 2:
  192. para = new DbParameter[]
  193. {
  194. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]<=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] ORDER BY [Term] DESC"),
  195. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  196. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  197. };
  198. break;
  199. default:
  200. para = new DbParameter[]
  201. {
  202. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]<=@qi ORDER BY [Term] DESC"),
  203. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  204. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  205. };
  206. break;
  207. }
  208. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", para))
  209. {
  210. while (reader.Read())
  211. {
  212. var entity = new TCP3Info
  213. {
  214. Term = TypeConverter.ObjectToInt(reader["Term"]),
  215. OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]),
  216. OpenCode2 = TypeConverter.ObjectToInt(reader["OpenCode2"]),
  217. OpenCode3 = TypeConverter.ObjectToInt(reader["OpenCode3"]),
  218. OpenCode4 = TypeConverter.ObjectToInt(reader["OpenCode4"]),
  219. OpenCode5 = TypeConverter.ObjectToInt(reader["OpenCode5"]),
  220. OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue),
  221. ShiJiHao = reader["ShiJiHao"].ToString().Trim(),
  222. KaiJiHao = reader["KaiJiHao"].ToString().Trim()
  223. };
  224. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  225. list.Add(entity);
  226. }
  227. reader.Dispose();
  228. }
  229. return list;
  230. }
  231. public IList<TCP3Info> ToListForNextTrend(long term, LotterySearchField fields)
  232. {
  233. IList<TCP3Info> list = new List<TCP3Info>();
  234. DbParameter[] para;
  235. int numRepeat = null == fields ? 0 : fields.NumRepeat;
  236. switch (numRepeat)
  237. {
  238. //组三
  239. case 1:
  240. para = new DbParameter[]
  241. {
  242. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,400,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) ORDER BY [Term] ASC"),
  243. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  244. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  245. };
  246. break;
  247. //豹子
  248. case 2:
  249. para = new DbParameter[]
  250. {
  251. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] ORDER BY [Term] ASC"),
  252. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  253. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  254. };
  255. break;
  256. default:
  257. para = new DbParameter[]
  258. {
  259. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT TOP 2 [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi ORDER BY [Term] ASC"),
  260. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  261. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  262. };
  263. break;
  264. }
  265. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", para))
  266. {
  267. while (reader.Read())
  268. {
  269. var entity = new TCP3Info
  270. {
  271. Term = TypeConverter.ObjectToInt(reader["Term"]),
  272. OpenCode1 = TypeConverter.ObjectToInt(reader["OpenCode1"]),
  273. OpenCode2 = TypeConverter.ObjectToInt(reader["OpenCode2"]),
  274. OpenCode3 = TypeConverter.ObjectToInt(reader["OpenCode3"]),
  275. OpenCode4 = TypeConverter.ObjectToInt(reader["OpenCode4"]),
  276. OpenCode5 = TypeConverter.ObjectToInt(reader["OpenCode5"]),
  277. OpenTime = TypeConverter.ObjectToDateTime(reader["OpenTime"], DateTime.MinValue),
  278. ShiJiHao = reader["ShiJiHao"].ToString().Trim(),
  279. KaiJiHao = reader["KaiJiHao"].ToString().Trim()
  280. };
  281. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  282. list.Add(entity);
  283. }
  284. reader.Dispose();
  285. }
  286. return list;
  287. }
  288. /// <summary>
  289. /// 前台页面查询时使用
  290. /// </summary>
  291. /// <param name="term">期数</param>
  292. /// <param name="fields">查询条件</param>
  293. /// <returns></returns>
  294. public IList<TCP3Info> GetListToEnd(long term, TrendChartSearchField fields)
  295. {
  296. IList<TCP3Info> list = new List<TCP3Info>();
  297. DbParameter[] para;
  298. int numRepeat = null == fields ? 0 : fields.NumRepeat;
  299. string query = "";
  300. int topSize = 0;
  301. if (null != fields)
  302. {
  303. if (fields.Year > 0)
  304. {
  305. query += " and Term between " + (fields.Year * 1000).ToString() + " and " + ((fields.Year + 1) * 1000).ToString() + " ";
  306. fields.Record = 1500;
  307. }
  308. else if (fields.StartTerm > 0 && fields.EndTerm > 0)
  309. { query += " and Term between " + fields.StartTerm.ToString() + " and " + fields.EndTerm.ToString() + " "; fields.Record = 1500; }
  310. else if (fields.Record == 0)
  311. { fields.Record = 30; }
  312. topSize = fields.Record;
  313. }
  314. string topSql = "";
  315. if (topSize > 0) topSql = " top (" + topSize.ToString() + ")";
  316. switch (numRepeat)
  317. {
  318. case 1://组三
  319. para = new DbParameter[]
  320. {
  321. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,400,"SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE OpenCode1 > -1 AND [Term]>=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) "+ query+" ORDER BY [Term] DESC"),
  322. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  323. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  324. };
  325. break;
  326. case 2://豹子
  327. para = new DbParameter[]
  328. {
  329. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE OpenCode1 > -1 AND [Term]>=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] "+ query+" ORDER BY [Term] DESC"),
  330. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  331. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  332. };
  333. break;
  334. default:
  335. para = new DbParameter[]
  336. {
  337. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT "+topSql+" [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE OpenCode1 > -1 AND [Term]>=@qi "+ query+" ORDER BY [Term] DESC"),
  338. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  339. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  340. };
  341. break;
  342. }
  343. using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", para))
  344. {
  345. if (null != dt && 0 < dt.Rows.Count)
  346. {
  347. foreach (DataRow dr in dt.Rows)
  348. {
  349. var entity = new TCP3Info
  350. {
  351. Term = TypeConverter.ObjectToInt(dr["Term"]),
  352. OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
  353. OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
  354. OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
  355. OpenCode4 = TypeConverter.ObjectToInt(dr["OpenCode4"]),
  356. OpenCode5 = TypeConverter.ObjectToInt(dr["OpenCode5"]),
  357. OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
  358. ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
  359. KaiJiHao = dr["KaiJiHao"].ToString().Trim()
  360. };
  361. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  362. list.Add(entity);
  363. }
  364. }
  365. dt.Dispose();
  366. }
  367. return list;
  368. }
  369. public IList<TCP3Info> GetListToEnd(long term, LotterySearchField fields)
  370. {
  371. IList<TCP3Info> list = new List<TCP3Info>();
  372. DbParameter[] para;
  373. int numRepeat = null == fields ? 0 : fields.NumRepeat;
  374. switch (numRepeat)
  375. {
  376. case 1://组三
  377. para = new DbParameter[]
  378. {
  379. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,400,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi AND (([OpenCode1] = [OpenCode2] AND [OpenCode1] != [OpenCode3]) OR ([OpenCode1] = [OpenCode3] AND [OpenCode2] != [OpenCode3]) OR ([OpenCode2] = [OpenCode3] AND [OpenCode1] != [OpenCode3])) ORDER BY [Term] ASC"),
  380. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  381. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  382. };
  383. break;
  384. case 2://豹子
  385. para = new DbParameter[]
  386. {
  387. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi AND [OpenCode1] = [OpenCode2] AND [OpenCode2] = [OpenCode3] ORDER BY [Term] ASC"),
  388. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  389. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  390. };
  391. break;
  392. default:
  393. para = new DbParameter[]
  394. {
  395. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,300,"SELECT [Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao] FROM [DT_TCP3] WHERE [Term]>=@qi ORDER BY [Term] ASC"),
  396. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@qi int"),
  397. DbHelper.MakeInParam(InterfaceId,"@qi",(DbType)SqlDbType.Int,4,term)
  398. };
  399. break;
  400. }
  401. using (DataTable dt = DbHelper.ExecuteDatatable(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", para))
  402. {
  403. if (null != dt && 0 < dt.Rows.Count)
  404. {
  405. foreach (DataRow dr in dt.Rows)
  406. {
  407. var entity = new TCP3Info
  408. {
  409. Term = TypeConverter.ObjectToInt(dr["Term"]),
  410. OpenCode1 = TypeConverter.ObjectToInt(dr["OpenCode1"]),
  411. OpenCode2 = TypeConverter.ObjectToInt(dr["OpenCode2"]),
  412. OpenCode3 = TypeConverter.ObjectToInt(dr["OpenCode3"]),
  413. OpenCode4 = TypeConverter.ObjectToInt(dr["OpenCode4"]),
  414. OpenCode5 = TypeConverter.ObjectToInt(dr["OpenCode5"]),
  415. OpenTime = TypeConverter.ObjectToDateTime(dr["OpenTime"], DateTime.MinValue),
  416. ShiJiHao = dr["ShiJiHao"].ToString().Trim(),
  417. KaiJiHao = dr["KaiJiHao"].ToString().Trim()
  418. };
  419. entity.OpenCode = new List<int>() { entity.OpenCode1, entity.OpenCode2, entity.OpenCode3, entity.OpenCode4, entity.OpenCode5 };
  420. list.Add(entity);
  421. }
  422. }
  423. dt.Dispose();
  424. }
  425. return list;
  426. }
  427. /// <summary>
  428. /// 根据条件获取top多少行
  429. /// </summary>
  430. /// <param name="entity"></param>
  431. /// <param name="pageSize"></param>
  432. /// <param name="pageIndex"></param>
  433. /// <param name="recordCount"></param>
  434. /// <param name="Order"></param>
  435. /// <returns></returns>
  436. public IList<TCP3Info> GetTopListByOrder(TCP3Info entity, int pageSize, int pageIndex, out int recordCount, string Order = "ASC")
  437. {
  438. recordCount = 0;
  439. string field = "[Id],[Term],[OpenCode1],[OpenCode2],[OpenCode3],[OpenCode4],[OpenCode5],[OpenTime],[ShiJiHao],[KaiJiHao],[Detail],[Addtime]"
  440. , orderField = "Term " + Order
  441. , where = ""
  442. , tableName = "DT_TCP3";
  443. DbParameter[] para =
  444. {
  445. DbHelper.MakeInParam(InterfaceId,"@pageSize",(DbType)SqlDbType.Int,4,pageSize),
  446. DbHelper.MakeInParam(InterfaceId,"@page",(DbType)SqlDbType.Int,4,pageIndex),
  447. DbHelper.MakeInParam(InterfaceId,"@tableName",(DbType)SqlDbType.NVarChar,500,tableName),
  448. DbHelper.MakeInParam(InterfaceId,"@field",(DbType)SqlDbType.NVarChar,1000,field),
  449. DbHelper.MakeInParam(InterfaceId,"@orderField",(DbType)SqlDbType.NVarChar,50,orderField),
  450. DbHelper.MakeInParam(InterfaceId,"@where",(DbType)SqlDbType.NVarChar,2000,where)
  451. };
  452. IList<TCP3Info> list = new List<TCP3Info>();
  453. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "usp_st_page", para))
  454. {
  455. while (reader.Read())
  456. {
  457. list.Add(LoadEntity(reader));
  458. }
  459. if (reader.NextResult() && reader.Read())
  460. {
  461. recordCount = reader.GetInt32(0);
  462. }
  463. reader.Dispose();
  464. }
  465. return list;
  466. }
  467. }
  468. }