EvaluationNeedServices.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Linq.Expressions;
  6. using Bowin.Common.Linq;
  7. using Bowin.Common.Data;
  8. using Bowin.Common.Linq.Entity;
  9. using EMIS.Entities;
  10. using EMIS.ViewModel;
  11. using EMIS.ViewModel.EvaluationManage.EvaluationSetting;
  12. using EMIS.DataLogic.EvaluationManage.EvaluationSetting;
  13. namespace EMIS.CommonLogic.EvaluationManage.EvaluationSetting
  14. {
  15. public class EvaluationNeedServices : BaseServices, IEvaluationNeedServices
  16. {
  17. public EvaluationNeedDAL EvaluationNeedDAL { get; set; }
  18. /// <summary>
  19. /// 查询对应的评价需知信息View
  20. /// </summary>
  21. /// <param name="configuretView"></param>
  22. /// <param name="participateTypeID"></param>
  23. /// <param name="isEnabled"></param>
  24. /// <param name="pageIndex"></param>
  25. /// <param name="pageSize"></param>
  26. /// <returns></returns>
  27. public IGridResultSet<EvaluationNeedView> GetEvaluationNeedViewGrid(ConfiguretView configuretView, int? participateTypeID, int? isEnabled, int pageIndex, int pageSize)
  28. {
  29. Expression<Func<EM_EvaluationNeed, bool>> exp = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
  30. if (participateTypeID.HasValue)
  31. {
  32. exp = exp.And(x => x.ParticipateTypeID == participateTypeID);
  33. }
  34. if (isEnabled.HasValue)
  35. {
  36. if (isEnabled.Value == (int)CF_GeneralPurpose.IsYes)
  37. {
  38. exp = exp.And(x => x.IsEnabled == true);
  39. }
  40. if (isEnabled.Value == (int)CF_GeneralPurpose.IsNo)
  41. {
  42. exp = exp.And(x => x.IsEnabled != true);
  43. }
  44. }
  45. var query = EvaluationNeedDAL.GetEvaluationNeedViewQueryable(exp);
  46. //查询条件
  47. if (!string.IsNullOrEmpty(configuretView.ConditionValue))
  48. {
  49. query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
  50. }
  51. return query.OrderBy(x => x.Code.Length).ThenBy(x => x.Code).ToGridResultSet<EvaluationNeedView>(pageIndex, pageSize);
  52. }
  53. /// <summary>
  54. /// 查询对应的评价需知信息List
  55. /// </summary>
  56. /// <param name="configuretView"></param>
  57. /// <param name="participateTypeID"></param>
  58. /// <param name="isEnabled"></param>
  59. /// <returns></returns>
  60. public IList<EvaluationNeedView> GetEvaluationNeedViewList(ConfiguretView configuretView, int? participateTypeID, int? isEnabled)
  61. {
  62. Expression<Func<EM_EvaluationNeed, bool>> exp = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
  63. if (participateTypeID.HasValue)
  64. {
  65. exp = exp.And(x => x.ParticipateTypeID == participateTypeID);
  66. }
  67. if (isEnabled.HasValue)
  68. {
  69. if (isEnabled.Value == (int)CF_GeneralPurpose.IsYes)
  70. {
  71. exp = exp.And(x => x.IsEnabled == true);
  72. }
  73. if (isEnabled.Value == (int)CF_GeneralPurpose.IsNo)
  74. {
  75. exp = exp.And(x => x.IsEnabled != true);
  76. }
  77. }
  78. var query = EvaluationNeedDAL.GetEvaluationNeedViewQueryable(exp);
  79. //查询条件
  80. if (!string.IsNullOrEmpty(configuretView.ConditionValue))
  81. {
  82. query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
  83. }
  84. return query.OrderBy(x => x.Code.Length).ThenBy(x => x.Code).ToList();
  85. }
  86. /// <summary>
  87. /// 查询对应的评价需知信息EvaluationNeedView
  88. /// </summary>
  89. /// <param name="evaluationNeedID"></param>
  90. /// <returns></returns>
  91. public EvaluationNeedView GetEvaluationNeedView(Guid? evaluationNeedID)
  92. {
  93. try
  94. {
  95. Expression<Func<EM_EvaluationNeed, bool>> exp = (x => x.EvaluationNeedID == evaluationNeedID);
  96. var query = EvaluationNeedDAL.GetEvaluationNeedViewQueryable(exp).SingleOrDefault();
  97. return query;
  98. }
  99. catch (Exception ex)
  100. {
  101. throw new Exception(ex.Message);
  102. }
  103. }
  104. /// <summary>
  105. /// 查询对应的评价需知信息EvaluationNeedView
  106. /// </summary>
  107. /// <param name="participateTypeID"></param>
  108. /// <returns></returns>
  109. public EvaluationNeedView GetEvaluationNeedView(int? participateTypeID)
  110. {
  111. try
  112. {
  113. Expression<Func<EM_EvaluationNeed, bool>> expEvaluationNeed = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
  114. expEvaluationNeed = expEvaluationNeed.And(x => x.IsEnabled == true);
  115. expEvaluationNeed = expEvaluationNeed.And(x => x.ParticipateTypeID == participateTypeID);
  116. var query = EvaluationNeedDAL.GetEvaluationNeedViewQueryable(expEvaluationNeed).SingleOrDefault();
  117. return query;
  118. }
  119. catch (Exception ex)
  120. {
  121. throw new Exception(ex.Message);
  122. }
  123. }
  124. /// <summary>
  125. /// 编辑
  126. /// </summary>
  127. /// <param name="evaluationNeedView"></param>
  128. public void EvaluationNeedEdit(EvaluationNeedView evaluationNeedView)
  129. {
  130. try
  131. {
  132. var EvaluationNeedVerify = EvaluationNeedDAL.EvaluationNeedRepository.GetList(x => x.EvaluationNeedID != evaluationNeedView.EvaluationNeedID
  133. && (x.Code == evaluationNeedView.Code.Trim() || x.Title == evaluationNeedView.Title.Trim() || x.ParticipateTypeID == evaluationNeedView.ParticipateTypeID)).SingleOrDefault();
  134. if (EvaluationNeedVerify == null)
  135. {
  136. if (evaluationNeedView.EvaluationNeedID != Guid.Empty)
  137. {
  138. var evaluationNeed = EvaluationNeedDAL.EvaluationNeedRepository.GetList(x => x.EvaluationNeedID == evaluationNeedView.EvaluationNeedID).SingleOrDefault();
  139. if (evaluationNeed == null)
  140. {
  141. throw new Exception("数据有误,请核查。");
  142. }
  143. else
  144. {
  145. //表示修改
  146. evaluationNeed.Code = evaluationNeedView.Code.Trim();
  147. evaluationNeed.Title = evaluationNeedView.Title.Trim();
  148. evaluationNeed.ParticipateTypeID = evaluationNeedView.ParticipateTypeID;
  149. evaluationNeed.Content = evaluationNeedView.Content;
  150. evaluationNeed.IsEnabled = evaluationNeedView.IsEnabled;
  151. evaluationNeed.Remark = evaluationNeedView.Remark;
  152. SetModifyStatus(evaluationNeed);
  153. }
  154. }
  155. else
  156. {
  157. //表示新增
  158. var newEvaluationNeed = new EM_EvaluationNeed();
  159. newEvaluationNeed.EvaluationNeedID = Guid.NewGuid();
  160. newEvaluationNeed.Code = evaluationNeedView.Code.Trim();
  161. newEvaluationNeed.Title = evaluationNeedView.Title.Trim();
  162. newEvaluationNeed.ParticipateTypeID = evaluationNeedView.ParticipateTypeID;
  163. newEvaluationNeed.Content = evaluationNeedView.Content;
  164. newEvaluationNeed.IsEnabled = evaluationNeedView.IsEnabled;
  165. newEvaluationNeed.Remark = evaluationNeedView.Remark;
  166. SetNewStatus(newEvaluationNeed);
  167. UnitOfWork.Add(newEvaluationNeed);
  168. }
  169. }
  170. else
  171. {
  172. throw new Exception("已存在相同的评价需知信息(编号、标题或参评类型唯一),请核查。");
  173. }
  174. UnitOfWork.Commit();
  175. }
  176. catch (Exception ex)
  177. {
  178. throw new Exception(ex.Message);
  179. }
  180. }
  181. /// <summary>
  182. /// 删除
  183. /// </summary>
  184. /// <param name="evaluationNeedIDs"></param>
  185. /// <returns></returns>
  186. public bool EvaluationNeedDelete(List<Guid?> evaluationNeedIDs)
  187. {
  188. try
  189. {
  190. UnitOfWork.Delete<EM_EvaluationNeed>(x => evaluationNeedIDs.Contains(x.EvaluationNeedID));
  191. return true;
  192. }
  193. catch (Exception)
  194. {
  195. throw;
  196. }
  197. }
  198. }
  199. }