You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IMSysUserService.cs 7.4 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. using Learun.DataBase.Repository;
  2. using Learun.Util;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace Learun.Application.IM
  7. {
  8. /// <summary>
  9. /// 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架
  10. /// Copyright (c) 2013-2018 上海力软信息技术有限公司
  11. /// 创建人:力软-框架开发组
  12. /// 日 期:2018.05.30
  13. /// 描 述:即时通讯用户注册
  14. /// </summary>
  15. public class IMSysUserService: RepositoryFactory
  16. {
  17. #region 构造函数和属性
  18. private string fieldSql;
  19. public IMSysUserService()
  20. {
  21. fieldSql = @"
  22. t.F_Id,
  23. t.F_Name,
  24. t.F_Code,
  25. t.F_Icon,
  26. t.F_CreateDate,
  27. t.F_CreateUserId,
  28. t.F_CreateUserName,
  29. t.F_Description,
  30. t.F_DeleteMark
  31. ";
  32. }
  33. #endregion
  34. #region 获取数据
  35. /// <summary>
  36. /// 获取列表数据
  37. /// </summary>
  38. /// <param name="keyWord">查询关键字</param>
  39. /// <returns></returns>
  40. public IEnumerable<IMSysUserEntity> GetList(string keyWord)
  41. {
  42. try
  43. {
  44. var strSql = new StringBuilder();
  45. strSql.Append("SELECT ");
  46. strSql.Append(fieldSql);
  47. strSql.Append(" FROM LR_IM_SysUser t where t.F_DeleteMark = 0 ");
  48. if (!string.IsNullOrEmpty(keyWord)) {
  49. keyWord = "%" + keyWord + "%";
  50. strSql.Append(" AND t.F_Name Like @keyWord ");
  51. }
  52. return this.BaseRepository().FindList<IMSysUserEntity>(strSql.ToString(), new { keyWord = keyWord });
  53. }
  54. catch (Exception ex)
  55. {
  56. if (ex is ExceptionEx)
  57. {
  58. throw;
  59. }
  60. else
  61. {
  62. throw ExceptionEx.ThrowServiceException(ex);
  63. }
  64. }
  65. }
  66. /// <summary>
  67. /// 获取列表分页数据
  68. /// <param name="pagination">分页参数</param>
  69. /// <param name="keyWord">查询关键字</param>
  70. /// <summary>
  71. /// <returns></returns>
  72. public IEnumerable<IMSysUserEntity> GetPageList(Pagination pagination, string keyWord)
  73. {
  74. try
  75. {
  76. var strSql = new StringBuilder();
  77. strSql.Append("SELECT ");
  78. strSql.Append(fieldSql);
  79. strSql.Append(" FROM LR_IM_SysUser t where t.F_DeleteMark = 0 ");
  80. if (!string.IsNullOrEmpty(keyWord))
  81. {
  82. keyWord = "%" + keyWord + "%";
  83. strSql.Append(" AND t.F_Name Like @keyWord ");
  84. }
  85. return this.BaseRepository().FindList<IMSysUserEntity>(strSql.ToString(), new { keyWord = keyWord }, pagination);
  86. }
  87. catch (Exception ex)
  88. {
  89. if (ex is ExceptionEx)
  90. {
  91. throw;
  92. }
  93. else
  94. {
  95. throw ExceptionEx.ThrowServiceException(ex);
  96. }
  97. }
  98. }
  99. /// <summary>
  100. /// 获取实体数据
  101. /// <param name="keyValue">主键</param>
  102. /// <summary>
  103. /// <returns></returns>
  104. public IMSysUserEntity GetEntity(string keyValue)
  105. {
  106. try
  107. {
  108. return this.BaseRepository().FindEntity<IMSysUserEntity>(keyValue);
  109. }
  110. catch (Exception ex)
  111. {
  112. if (ex is ExceptionEx)
  113. {
  114. throw;
  115. }
  116. else
  117. {
  118. throw ExceptionEx.ThrowServiceException(ex);
  119. }
  120. }
  121. }
  122. /// <summary>
  123. /// 获取实体数据byCode
  124. /// </summary>
  125. /// <param name="code"></param>
  126. /// <returns></returns>
  127. public IMSysUserEntity GetEntityByCode(string code)
  128. {
  129. try
  130. {
  131. return this.BaseRepository().FindEntity<IMSysUserEntity>(t=>t.F_Code.Equals(code));
  132. }
  133. catch (Exception ex)
  134. {
  135. if (ex is ExceptionEx)
  136. {
  137. throw;
  138. }
  139. else
  140. {
  141. throw ExceptionEx.ThrowServiceException(ex);
  142. }
  143. }
  144. }
  145. #endregion
  146. #region 提交数据
  147. /// <summary>
  148. /// 删除实体数据(虚拟)
  149. /// <param name="keyValue">主键</param>
  150. /// <summary>
  151. /// <returns></returns>
  152. public void DeleteEntity(string keyValue)
  153. {
  154. try
  155. {
  156. IMSysUserEntity entity = new IMSysUserEntity();
  157. entity.F_Id = keyValue;
  158. entity.F_DeleteMark = 1;
  159. this.BaseRepository().Update(entity);
  160. }
  161. catch (Exception ex)
  162. {
  163. if (ex is ExceptionEx)
  164. {
  165. throw;
  166. }
  167. else
  168. {
  169. throw ExceptionEx.ThrowServiceException(ex);
  170. }
  171. }
  172. }
  173. /// <summary>
  174. /// 保存实体数据(新增、修改)
  175. /// <param name="keyValue">主键</param>
  176. /// <summary>
  177. /// <returns></returns>
  178. public void SaveEntity(string keyValue, IMSysUserEntity entity)
  179. {
  180. try
  181. {
  182. if (!string.IsNullOrEmpty(keyValue))
  183. {
  184. entity.Modify(keyValue);
  185. this.BaseRepository().Update(entity);
  186. }
  187. else
  188. {
  189. entity.Create();
  190. this.BaseRepository().Insert(entity);
  191. }
  192. }
  193. catch (Exception ex)
  194. {
  195. if (ex is ExceptionEx)
  196. {
  197. throw;
  198. }
  199. else
  200. {
  201. throw ExceptionEx.ThrowServiceException(ex);
  202. }
  203. }
  204. }
  205. #endregion
  206. #region 验证数据
  207. /// <summary>
  208. /// 规则编号不能重复
  209. /// </summary>
  210. /// <param name="code">编号</param>
  211. /// <param name="keyValue">主键</param>
  212. /// <returns></returns>
  213. public bool ExistEnCode(string code, string keyValue)
  214. {
  215. try
  216. {
  217. var strSql = new StringBuilder();
  218. strSql.Append(" SELECT t.F_Id FROM LR_IM_SysUser t WHERE t.F_DeleteMark = 0 AND t.F_Code = @code ");
  219. if (!string.IsNullOrEmpty(keyValue))
  220. {
  221. strSql.Append(" AND t.F_Id != @keyValue ");
  222. }
  223. IMSysUserEntity entity = this.BaseRepository().FindEntity<IMSysUserEntity>(strSql.ToString(), new { code = code, keyValue = keyValue });
  224. return entity == null ? true : false;
  225. }
  226. catch (Exception ex)
  227. {
  228. if (ex is ExceptionEx)
  229. {
  230. throw;
  231. }
  232. else
  233. {
  234. throw ExceptionEx.ThrowServiceException(ex);
  235. }
  236. }
  237. }
  238. #endregion
  239. }
  240. }