DataItemService.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. using LeaRun.Application.Entity.SystemManage;
  2. using LeaRun.Application.IService.SystemManage;
  3. using LeaRun.Data.Repository;
  4. using LeaRun.Util.Extension;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. namespace LeaRun.Application.Service.SystemManage
  8. {
  9. /// <summary>
  10. /// 版 本 6.1
  11. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  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. expression = expression.And(t => t.ItemCode == ItemCode);
  47. }
  48. return this.BaseRepository().FindEntity(expression);
  49. }
  50. #endregion
  51. #region 验证数据
  52. /// <summary>
  53. /// 分类编号不能重复
  54. /// </summary>
  55. /// <param name="itemCode">编号</param>
  56. /// <param name="keyValue">主键</param>
  57. /// <returns></returns>
  58. public bool ExistItemCode(string itemCode, string keyValue)
  59. {
  60. var expression = LinqExtensions.True<DataItemEntity>();
  61. expression = expression.And(t => t.ItemCode == itemCode);
  62. if (!string.IsNullOrEmpty(keyValue))
  63. {
  64. expression = expression.And(t => t.ItemId != keyValue);
  65. }
  66. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  67. }
  68. /// <summary>
  69. /// 分类名称不能重复
  70. /// </summary>
  71. /// <param name="itemName">名称</param>
  72. /// <param name="keyValue">主键</param>
  73. /// <returns></returns>
  74. public bool ExistItemName(string itemName, string keyValue)
  75. {
  76. var expression = LinqExtensions.True<DataItemEntity>();
  77. expression = expression.And(t => t.ItemName == itemName);
  78. if (!string.IsNullOrEmpty(keyValue))
  79. {
  80. expression = expression.And(t => t.ItemId != keyValue);
  81. }
  82. return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
  83. }
  84. #endregion
  85. #region 提交数据
  86. /// <summary>
  87. /// 删除分类
  88. /// </summary>
  89. /// <param name="keyValue">主键</param>
  90. public void RemoveForm(string keyValue)
  91. {
  92. this.BaseRepository().Delete(keyValue);
  93. }
  94. /// <summary>
  95. /// 保存分类表单(新增、修改)
  96. /// </summary>
  97. /// <param name="keyValue">主键值</param>
  98. /// <param name="dataItemEntity">分类实体</param>
  99. /// <returns></returns>
  100. public void SaveForm(string keyValue, DataItemEntity dataItemEntity)
  101. {
  102. if (!string.IsNullOrEmpty(keyValue))
  103. {
  104. dataItemEntity.Modify(keyValue);
  105. this.BaseRepository().Update(dataItemEntity);
  106. }
  107. else
  108. {
  109. dataItemEntity.Create();
  110. this.BaseRepository().Insert(dataItemEntity);
  111. }
  112. }
  113. #endregion
  114. }
  115. }