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.
 
 
 
 
 
 

228 lines
6.6 KiB

  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.Base.SystemModule
  7. {
  8. /// <summary>
  9. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  10. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  11. /// 创建人:陈彬彬
  12. /// 日 期:2017.03.08
  13. /// 描 述:附件管理
  14. /// </summary>
  15. public class AnnexesFileService:RepositoryFactory
  16. {
  17. #region 属性 构造函数
  18. private string fieldSql;
  19. public AnnexesFileService()
  20. {
  21. fieldSql = @"
  22. t.F_Id,
  23. t.F_FolderId,
  24. t.F_FileName,
  25. t.F_FilePath,
  26. t.F_FileSize,
  27. t.F_FileExtensions,
  28. t.F_FileType,
  29. t.F_DownloadCount,
  30. t.F_CreateDate,
  31. t.F_CreateUserId,
  32. t.F_CreateUserName
  33. ";
  34. }
  35. #endregion
  36. #region 获取数据
  37. /// <summary>
  38. /// 获取实体列表
  39. /// </summary>
  40. /// <param name="keyValues">主键值串</param>
  41. /// <returns></returns>
  42. public IEnumerable<AnnexesFileEntity> GetList(string folderId)
  43. {
  44. try
  45. {
  46. StringBuilder strSql = new StringBuilder();
  47. strSql.Append("SELECT " + fieldSql + " FROM LR_Base_AnnexesFile t WHERE t.F_FolderId = (@folderId) Order By t.F_CreateDate ");
  48. return this.BaseRepository().FindList<AnnexesFileEntity>(strSql.ToString(), new { folderId = folderId });
  49. }
  50. catch (Exception ex)
  51. {
  52. if (ex is ExceptionEx)
  53. {
  54. throw;
  55. }
  56. else
  57. {
  58. throw ExceptionEx.ThrowServiceException(ex);
  59. }
  60. }
  61. }
  62. /// <summary>
  63. /// 根据folderId获取图片
  64. /// </summary>
  65. /// <param name="folderId"></param>
  66. /// <returns></returns>
  67. public AnnexesFileEntity GetEntityByFolderId(string folderId)
  68. {
  69. try
  70. {
  71. return BaseRepository().FindEntity<AnnexesFileEntity>(m => m.F_FolderId == folderId);
  72. }
  73. catch (Exception ex)
  74. {
  75. if (ex is ExceptionEx)
  76. {
  77. throw;
  78. }
  79. else
  80. {
  81. throw ExceptionEx.ThrowServiceException(ex);
  82. }
  83. }
  84. }
  85. /// <summary>
  86. /// 获取附件名称集合
  87. /// </summary>
  88. /// <param name="keyValue">主键值</param>
  89. /// <returns></returns>
  90. public string GetFileNames(string keyValue)
  91. {
  92. try
  93. {
  94. string res = "";
  95. IEnumerable<AnnexesFileEntity> list = GetList(keyValue);
  96. foreach (var item in list)
  97. {
  98. if (!string.IsNullOrEmpty(res))
  99. {
  100. res += ",";
  101. }
  102. res += item.F_FileName;
  103. }
  104. return res;
  105. }
  106. catch (Exception ex)
  107. {
  108. if (ex is ExceptionEx)
  109. {
  110. throw;
  111. }
  112. else
  113. {
  114. throw ExceptionEx.ThrowServiceException(ex);
  115. }
  116. }
  117. }
  118. /// <summary>
  119. /// 获取附件实体
  120. /// </summary>
  121. /// <param name="keyValue">主键</param>
  122. /// <returns></returns>
  123. public AnnexesFileEntity GetEntity(string keyValue)
  124. {
  125. try
  126. {
  127. var fileEntity = this.BaseRepository().FindEntity<AnnexesFileEntity>(keyValue);
  128. if (fileEntity == null)
  129. {
  130. IEnumerable<AnnexesFileEntity> fileList = GetList(keyValue);
  131. foreach (var item in fileList)
  132. {
  133. return item;
  134. }
  135. }
  136. return fileEntity;
  137. }
  138. catch (Exception ex)
  139. {
  140. if (ex is ExceptionEx)
  141. {
  142. throw;
  143. }
  144. else
  145. {
  146. throw ExceptionEx.ThrowServiceException(ex);
  147. }
  148. }
  149. }
  150. #endregion
  151. #region 提交数据
  152. /// <summary>
  153. /// 保存数据实体
  154. /// </summary>
  155. /// <param name="folderId">附件夹主键</param>
  156. /// <param name="annexesFileEntity">附件实体数据</param>
  157. public void SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity)
  158. {
  159. try
  160. {
  161. annexesFileEntity.Create();
  162. annexesFileEntity.F_FolderId = folderId;
  163. this.BaseRepository().Insert(annexesFileEntity);
  164. }
  165. catch (Exception ex)
  166. {
  167. if (ex is ExceptionEx)
  168. {
  169. throw;
  170. }
  171. else
  172. {
  173. throw ExceptionEx.ThrowServiceException(ex);
  174. }
  175. }
  176. }
  177. /// <summary>
  178. /// 删除附件
  179. /// </summary>
  180. /// <param name="fileId">文件主键</param>
  181. /// <param name="folderId">文件夹主键</param>
  182. public void DeleteEntity(string fileId)
  183. {
  184. try
  185. {
  186. this.BaseRepository().Delete(new AnnexesFileEntity() { F_Id = fileId });
  187. }
  188. catch (Exception ex)
  189. {
  190. if (ex is ExceptionEx)
  191. {
  192. throw;
  193. }
  194. else
  195. {
  196. throw ExceptionEx.ThrowServiceException(ex);
  197. }
  198. }
  199. }
  200. #endregion
  201. public void SaveEntityByKey(string fId, AnnexesFileEntity annexesFileEntity)
  202. {
  203. try
  204. {
  205. annexesFileEntity.F_Id = fId;
  206. this.BaseRepository().Update(annexesFileEntity);
  207. }
  208. catch (Exception ex)
  209. {
  210. if (ex is ExceptionEx)
  211. {
  212. throw;
  213. }
  214. else
  215. {
  216. throw ExceptionEx.ThrowServiceException(ex);
  217. }
  218. }
  219. }
  220. }
  221. }