DataItemService.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. using Lottomat.Application.Entity.SystemManage;
  2. using Lottomat.Application.IService.SystemManage;
  3. using Lottomat.Data.Repository;
  4. using Lottomat.Util.Extension;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. namespace Lottomat.Application.Service.SystemManage
  8. {
  9. /// <summary>
  10. /// 版 本 1.0
  11. /// Copyright (c) 2016-2017
  12. /// 创建人:赵轶
  13. /// 日 期:2015.11.17 9:56
  14. /// 描 述:数据字典分类
  15. /// </summary>
  16. public class DataItemService : RepositoryFactory<DataItemEntity>, IDataItemService
  17. {
  18. #region 获取数据
  19. /// <summary>
  20. /// 分类列表
  21. /// </summary>
  22. /// <returns></returns>
  23. public IEnumerable<DataItemEntity> GetList()
  24. {
  25. return this.BaseRepository().IQueryable().OrderBy(t => t.CreateDate).ToList();
  26. }
  27. /// <summary>
  28. /// 分类实体
  29. /// </summary>
  30. /// <param name="keyValue">主键值</param>
  31. /// <returns></returns>
  32. public DataItemEntity GetEntity(string keyValue)
  33. {
  34. return this.BaseRepository().FindEntity(keyValue);
  35. }
  36. /// <summary>
  37. /// 根据分类编号获取实体对象
  38. /// </summary>
  39. /// <param name="ItemCode">编号</param>
  40. /// <returns></returns>
  41. public DataItemEntity GetEntityByCode(string ItemCode)
  42. {
  43. var expression = LinqExtensions.True<DataItemEntity>();
  44. if (!string.IsNullOrEmpty(ItemCode))
  45. {
  46. string[] codeArr = ItemCode.Split("|".ToArray());
  47. expression = expression.And(t => codeArr.Contains(t.ItemCode));
  48. }
  49. return this.BaseRepository().FindEntity(expression);
  50. }
  51. #endregion
  52. #region 验证数据
  53. /// <summary>
  54. /// 分类编号不能重复
  55. /// </summary>
  56. /// <param name="itemCode">编号</param>
  57. /// <param name="keyValue">主键</param>
  58. /// <returns></returns>
  59. public bool ExistItemCode(string itemCode, string keyValue)
  60. {
  61. var expression = LinqExtensions.True<DataItemEntity>();
  62. expression = expression.And(t => t.ItemCode == itemCode);
  63. if (!string.IsNullOrEmpty(keyValue))
  64. {
  65. expression = expression.And(t => t.ItemId != keyValue);
  66. }
  67. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  68. }
  69. /// <summary>
  70. /// 分类名称不能重复
  71. /// </summary>
  72. /// <param name="itemName">名称</param>
  73. /// <param name="keyValue">主键</param>
  74. /// <returns></returns>
  75. public bool ExistItemName(string itemName, string keyValue)
  76. {
  77. var expression = LinqExtensions.True<DataItemEntity>();
  78. expression = expression.And(t => t.ItemName == itemName);
  79. if (!string.IsNullOrEmpty(keyValue))
  80. {
  81. expression = expression.And(t => t.ItemId != keyValue);
  82. }
  83. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  84. }
  85. /// <summary>
  86. /// 根据ItemName 查询
  87. /// </summary>
  88. /// <param name="ItemName"></param>
  89. /// <returns></returns>
  90. public DataItemEntity GetByItemName(string ItemName)
  91. {
  92. var expression = LinqExtensions.True<DataItemEntity>();
  93. expression = expression.And(t => t.ItemName == ItemName);
  94. List<DataItemEntity> list=this.BaseRepository().IQueryable(expression).ToList();
  95. if (list.Count>0)
  96. {
  97. return list[0];
  98. }
  99. return null;
  100. }
  101. #endregion
  102. #region 提交数据
  103. /// <summary>
  104. /// 删除分类
  105. /// </summary>
  106. /// <param name="keyValue">主键</param>
  107. public void RemoveForm(string keyValue)
  108. {
  109. this.BaseRepository().Delete(keyValue);
  110. }
  111. /// <summary>
  112. /// 保存分类表单(新增、修改)
  113. /// </summary>
  114. /// <param name="keyValue">主键值</param>
  115. /// <param name="dataItemEntity">分类实体</param>
  116. /// <returns></returns>
  117. public void SaveForm(string keyValue, DataItemEntity dataItemEntity)
  118. {
  119. if (!string.IsNullOrEmpty(keyValue))
  120. {
  121. dataItemEntity.Modify(keyValue);
  122. this.BaseRepository().Update(dataItemEntity);
  123. }
  124. else
  125. {
  126. dataItemEntity.Create();
  127. this.BaseRepository().Insert(dataItemEntity);
  128. }
  129. }
  130. #endregion
  131. }
  132. }