DataItemDetailService.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. using Lottomat.Application.Entity.SystemManage;
  2. using Lottomat.Application.Entity.SystemManage.ViewModel;
  3. using Lottomat.Application.IService.SystemManage;
  4. using Lottomat.Data.Repository;
  5. using Lottomat.Util.Extension;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using Lottomat.Utils;
  10. namespace Lottomat.Application.Service.SystemManage
  11. {
  12. /// <summary>
  13. /// 版 本 1.0
  14. /// Copyright (c) 2016-2017
  15. /// 创建人:赵轶
  16. /// 日 期:2015.11.17 9:56
  17. /// 描 述:数据字典明细
  18. /// </summary>
  19. public class DataItemDetailService : RepositoryFactory<DataItemDetailEntity>, IDataItemDetailService
  20. {
  21. #region 获取数据
  22. /// <summary>
  23. /// 明细列表
  24. /// </summary>
  25. /// <param name="itemId">分类Id</param>
  26. /// <returns></returns>
  27. public IEnumerable<DataItemDetailEntity> GetList(string itemId)
  28. {
  29. return this.BaseRepository().IQueryable(t => t.ItemId == itemId).OrderBy(t => t.SortCode).ToList();
  30. }
  31. /// <summary>
  32. /// 明细实体
  33. /// </summary>
  34. /// <param name="keyValue">主键值</param>
  35. /// <returns></returns>
  36. public DataItemDetailEntity GetEntity(string keyValue)
  37. {
  38. return this.BaseRepository().FindEntity(keyValue);
  39. }
  40. /// <summary>
  41. /// 获取数据字典列表(给绑定下拉框提供的)
  42. /// </summary>
  43. /// <returns></returns>
  44. public IEnumerable<DataItemModel> GetDataItemList()
  45. {
  46. StringBuilder strSql = new StringBuilder();
  47. strSql.Append(@"SELECT i.ItemId ,
  48. i.ItemCode AS EnCode ,
  49. d.ItemDetailId ,
  50. d.ParentId ,
  51. d.ItemCode ,
  52. d.ItemName ,
  53. d.ItemValue ,
  54. d.QuickQuery ,
  55. d.SimpleSpelling ,
  56. d.IsDefault ,
  57. d.SortCode ,
  58. d.EnabledMark,
  59. d.IsRecommend,
  60. d.IsHot,
  61. d.IsShowHomePage
  62. FROM Base_DataItemDetail d
  63. LEFT JOIN Base_DataItem i ON i.ItemId = d.ItemId
  64. WHERE 1 = 1
  65. AND d.EnabledMark = 1
  66. AND d.DeleteMark = 0
  67. ORDER BY d.SortCode ASC");
  68. return new RepositoryFactory().BaseRepository().FindList<DataItemModel>(strSql.ToString());
  69. }
  70. /// <summary>
  71. /// 根据分类ID获取实体对象
  72. /// </summary>
  73. /// <param name="id">ID</param>
  74. /// <returns></returns>
  75. public DataItemDetailEntity GetEntityById(string id)
  76. {
  77. var expression = LinqExtensions.True<DataItemDetailEntity>();
  78. if (!string.IsNullOrEmpty(id))
  79. {
  80. expression = expression.And(t => t.ItemDetailId.Equals(id));
  81. }
  82. return new RepositoryFactory().BaseRepository().FindEntity(expression);
  83. }
  84. /// <summary>
  85. /// 根据分类ID获取实体对象集合
  86. /// </summary>
  87. /// <param name="id">ID</param>
  88. /// <returns></returns>
  89. public IEnumerable<DataItemDetailEntity> GetDataItemListById(string id)
  90. {
  91. var expression = LinqExtensions.True<DataItemDetailEntity>();
  92. if (!string.IsNullOrEmpty(id))
  93. {
  94. expression = expression.And(t => t.ItemId.Equals(id));
  95. }
  96. return new RepositoryFactory().BaseRepository().FindList<DataItemDetailEntity>(expression);
  97. }
  98. #endregion
  99. #region 验证数据
  100. /// <summary>
  101. /// 项目值不能重复
  102. /// </summary>
  103. /// <param name="itemValue">项目值</param>
  104. /// <param name="keyValue">主键</param>
  105. /// <param name="itemId">分类Id</param>
  106. /// <returns></returns>
  107. public bool ExistItemValue(string itemValue, string keyValue, string itemId)
  108. {
  109. var expression = LinqExtensions.True<DataItemDetailEntity>();
  110. expression = expression.And(t => t.ItemValue == itemValue).And(t => t.ItemId == itemId);
  111. if (!string.IsNullOrEmpty(keyValue))
  112. {
  113. expression = expression.And(t => t.ItemDetailId != keyValue);
  114. }
  115. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  116. }
  117. /// <summary>
  118. /// 项目名不能重复
  119. /// </summary>
  120. /// <param name="itemName">项目名</param>
  121. /// <param name="keyValue">主键</param>
  122. /// <param name="itemId">分类Id</param>
  123. /// <returns></returns>
  124. public bool ExistItemName(string itemName, string keyValue, string itemId)
  125. {
  126. var expression = LinqExtensions.True<DataItemDetailEntity>();
  127. expression = expression.And(t => t.ItemName == itemName).And(t => t.ItemId == itemId);
  128. if (!string.IsNullOrEmpty(keyValue))
  129. {
  130. expression = expression.And(t => t.ItemDetailId != keyValue);
  131. }
  132. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  133. }
  134. #endregion
  135. #region 提交数据
  136. /// <summary>
  137. /// 删除明细
  138. /// </summary>
  139. /// <param name="keyValue">主键</param>
  140. public void RemoveForm(string keyValue)
  141. {
  142. this.BaseRepository().Delete(keyValue);
  143. }
  144. /// <summary>
  145. /// 保存明细表单(新增、修改)
  146. /// </summary>
  147. /// <param name="keyValue">主键值</param>
  148. /// <param name="dataItemDetailEntity">明细实体</param>
  149. /// <returns></returns>
  150. public void SaveForm(string keyValue, DataItemDetailEntity dataItemDetailEntity)
  151. {
  152. if (!string.IsNullOrEmpty(keyValue))
  153. {
  154. dataItemDetailEntity.Modify(keyValue);
  155. this.BaseRepository().Update(dataItemDetailEntity);
  156. }
  157. else
  158. {
  159. dataItemDetailEntity.Create();
  160. if (string.IsNullOrEmpty(dataItemDetailEntity.SimpleSpelling))
  161. dataItemDetailEntity.SimpleSpelling = StringHelper.PinYin(dataItemDetailEntity.ItemName);
  162. this.BaseRepository().Insert(dataItemDetailEntity);
  163. }
  164. }
  165. #endregion
  166. }
  167. }