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.
 
 
 
 
 
 

201 lines
5.9 KiB

  1. using Dapper;
  2. using Learun.DataBase.Repository;
  3. using Learun.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Text;
  8. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  12. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2019-03-06 17:19
  15. /// 描 述:通讯录
  16. /// </summary>
  17. public class AddressBookService : RepositoryFactory
  18. {
  19. #region 构造函数和属性
  20. private string fieldSql;
  21. public AddressBookService()
  22. {
  23. fieldSql=@"
  24. t.AId,
  25. t.ASaverId,
  26. t.AName,
  27. t.AGender,
  28. t.ACompany,
  29. t.ACTell,
  30. t.AMobile,
  31. t.AEmail,
  32. t.AIsShare
  33. ";
  34. }
  35. #endregion
  36. #region 获取数据
  37. /// <summary>
  38. /// 获取列表数据
  39. /// <summary>
  40. /// <returns></returns>
  41. public IEnumerable<AddressBookEntity> GetList( string queryJson )
  42. {
  43. try
  44. {
  45. //参考写法
  46. //var queryParam = queryJson.ToJObject();
  47. // 虚拟参数
  48. //var dp = new DynamicParameters(new { });
  49. //dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  50. var strSql = new StringBuilder();
  51. strSql.Append("SELECT ");
  52. strSql.Append(fieldSql);
  53. strSql.Append(" FROM AddressBook t ");
  54. return this.BaseRepository().FindList<AddressBookEntity>(strSql.ToString());
  55. }
  56. catch (Exception ex)
  57. {
  58. if (ex is ExceptionEx)
  59. {
  60. throw;
  61. }
  62. else
  63. {
  64. throw ExceptionEx.ThrowServiceException(ex);
  65. }
  66. }
  67. }
  68. /// <summary>
  69. /// 获取列表分页数据
  70. /// <param name="pagination">分页参数</param>
  71. /// <summary>
  72. /// <returns></returns>
  73. public IEnumerable<AddressBookEntity> GetPageList(Pagination pagination, string queryJson)
  74. {
  75. try
  76. {
  77. var strSql = new StringBuilder();
  78. strSql.Append("SELECT ");
  79. strSql.Append(fieldSql);
  80. strSql.Append(" FROM AddressBook t where 1=1 ");
  81. var data = LoginUserInfo.Get();
  82. if (!data.isSystem)
  83. {
  84. strSql.Append($" and (ASaverId='{data.userId}' or AIsShare=1)");
  85. }
  86. //关键字查询
  87. var queryParam = queryJson.ToJObject();
  88. if (!queryParam["keyword"].IsEmpty())
  89. {
  90. strSql.Append($" AND (t.AName like '%{queryParam["keyword"].ToString()}%' or t.ACompany like '%{queryParam["keyword"].ToString()}%' or t.ACTell like '%{queryParam["keyword"].ToString()}%' or t.AMobile like '%{queryParam["keyword"].ToString()}%' )");
  91. }
  92. return this.BaseRepository().FindList<AddressBookEntity>(strSql.ToString(), pagination);
  93. }
  94. catch (Exception ex)
  95. {
  96. if (ex is ExceptionEx)
  97. {
  98. throw;
  99. }
  100. else
  101. {
  102. throw ExceptionEx.ThrowServiceException(ex);
  103. }
  104. }
  105. }
  106. /// <summary>
  107. /// 获取实体数据
  108. /// <param name="keyValue">主键</param>
  109. /// <summary>
  110. /// <returns></returns>
  111. public AddressBookEntity GetEntity(string keyValue)
  112. {
  113. try
  114. {
  115. return this.BaseRepository().FindEntity<AddressBookEntity>(keyValue);
  116. }
  117. catch (Exception ex)
  118. {
  119. if (ex is ExceptionEx)
  120. {
  121. throw;
  122. }
  123. else
  124. {
  125. throw ExceptionEx.ThrowServiceException(ex);
  126. }
  127. }
  128. }
  129. #endregion
  130. #region 提交数据
  131. /// <summary>
  132. /// 删除实体数据
  133. /// <param name="keyValue">主键</param>
  134. /// <summary>
  135. /// <returns></returns>
  136. public void DeleteEntity(string keyValue)
  137. {
  138. try
  139. {
  140. this.BaseRepository().Delete<AddressBookEntity>(t=>t.AId == keyValue);
  141. }
  142. catch (Exception ex)
  143. {
  144. if (ex is ExceptionEx)
  145. {
  146. throw;
  147. }
  148. else
  149. {
  150. throw ExceptionEx.ThrowServiceException(ex);
  151. }
  152. }
  153. }
  154. /// <summary>
  155. /// 保存实体数据(新增、修改)
  156. /// <param name="keyValue">主键</param>
  157. /// <summary>
  158. /// <returns></returns>
  159. public void SaveEntity(string keyValue, AddressBookEntity entity)
  160. {
  161. try
  162. {
  163. if (!string.IsNullOrEmpty(keyValue))
  164. {
  165. entity.Modify(keyValue);
  166. this.BaseRepository().Update(entity);
  167. }
  168. else
  169. {
  170. entity.Create();
  171. this.BaseRepository().Insert(entity);
  172. }
  173. }
  174. catch (Exception ex)
  175. {
  176. if (ex is ExceptionEx)
  177. {
  178. throw;
  179. }
  180. else
  181. {
  182. throw ExceptionEx.ThrowServiceException(ex);
  183. }
  184. }
  185. }
  186. #endregion
  187. }
  188. }