Open21CodeServices.cs 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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.Linq;
  7. using Lottomat.Application.Code;
  8. using Lottomat.Application.Entity.CommonEntity;
  9. using Lottomat.Application.IService.OpenCodeManage;
  10. using Lottomat.Data.Repository;
  11. using Lottomat.Util;
  12. using Lottomat.Util.Extension;
  13. namespace Lottomat.Application.Service.OpenCodeManage
  14. {
  15. /// <summary>
  16. /// 开奖21个球号的彩种数据服务
  17. /// </summary>
  18. public class Open21CodeServices : RepositoryFactory, IOpen21Code
  19. {
  20. /// <summary>
  21. /// 获取最新一条记录
  22. /// </summary>
  23. /// <param name="lottery">彩种名称</param>
  24. /// <returns></returns>
  25. public OpenCode21Model GetLastItem(SCCLottery lottery)
  26. {
  27. var TableName = lottery.GetSCCLotteryTableName();
  28. var sqlString = string.Format(LastItemSql, TableName);
  29. var ds = this.BaseRepository(DatabaseLinksEnum.LotteryNumber).FindTable(sqlString);//SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  30. if (ds != null && ds.DataSet.Tables.Count > 0 && ds.DataSet.Tables[0].Rows.Count > 0)
  31. {
  32. var result = BaseServices.LoadData<OpenCode21Model>(ds.DataSet.Tables[0].Rows[0]);
  33. return result;
  34. }
  35. return null;
  36. }
  37. /// <summary>
  38. /// 新增彩种开奖数据
  39. /// </summary>
  40. /// <param name="lottery">彩种名称</param>
  41. /// <param name="model">开奖数据模型</param>
  42. /// <returns></returns>
  43. public bool AddOpen21Code(SCCLottery lottery, OpenCode21Model model)
  44. {
  45. var TableName = lottery.GetSCCLotteryTableName();
  46. var sqlString = string.Format(AddItemSql, TableName);
  47. DbParameter[] param = new DbParameter[]{
  48. new SqlParameter("@Term",model.Term),
  49. new SqlParameter("@OpenCode1",model.OpenCode1),
  50. new SqlParameter("@OpenCode2",model.OpenCode2),
  51. new SqlParameter("@OpenCode3",model.OpenCode3),
  52. new SqlParameter("@OpenCode4",model.OpenCode4),
  53. new SqlParameter("@OpenCode5",model.OpenCode5),
  54. new SqlParameter("@OpenCode6",model.OpenCode6),
  55. new SqlParameter("@OpenCode7",model.OpenCode7),
  56. new SqlParameter("@OpenCode8",model.OpenCode8),
  57. new SqlParameter("@OpenCode9",model.OpenCode9),
  58. new SqlParameter("@OpenCode10",model.OpenCode10),
  59. new SqlParameter("@OpenCode11",model.OpenCode11),
  60. new SqlParameter("@OpenCode12",model.OpenCode12),
  61. new SqlParameter("@OpenCode13",model.OpenCode13),
  62. new SqlParameter("@OpenCode14",model.OpenCode14),
  63. new SqlParameter("@OpenCode15",model.OpenCode15),
  64. new SqlParameter("@OpenCode16",model.OpenCode16),
  65. new SqlParameter("@OpenCode17",model.OpenCode17),
  66. new SqlParameter("@OpenCode18",model.OpenCode18),
  67. new SqlParameter("@OpenCode19",model.OpenCode19),
  68. new SqlParameter("@OpenCode20",model.OpenCode20),
  69. new SqlParameter("@OpenCode21",model.OpenCode21),
  70. new SqlParameter("@OpenTime",model.OpenTime),
  71. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-", ""))
  72. };
  73. var result = this.BaseRepository(DatabaseLinksEnum.LotteryNumber).ExecuteBySql(sqlString, param);
  74. return result > 0;
  75. }
  76. #region Sql语句
  77. /// <summary>
  78. /// 获取最新一条记录的Sql语句
  79. /// </summary>
  80. private static string LastItemSql = @"SELECT TOP 1 * FROM {0} ORDER BY Term DESC";
  81. /// <summary>
  82. /// 新增开奖数据的Sql语句
  83. /// </summary>
  84. private static string AddItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  85. BEGIN
  86. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenCode4,OpenCode5,OpenCode6,OpenCode7,OpenCode8,OpenCode9,OpenCode10,OpenCode11,OpenCode12,OpenCode13,OpenCode14,OpenCode15,OpenCode16,OpenCode17,OpenCode18,OpenCode19,OpenCode20,OpenCode21,OpenTime,Addtime,ID)
  87. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenCode5,@OpenCode6,@OpenCode7,@OpenCode8,@OpenCode9,@OpenCode10,@OpenCode11,@OpenCode12,@OpenCode13,@OpenCode14,@OpenCode15,@OpenCode16,@OpenCode17,@OpenCode18,@OpenCode19,@OpenCode20,@OpenCode21,@OpenTime,GETDATE(),@ID
  88. END";
  89. #endregion
  90. }
  91. }