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.

171 lines
5.1 KiB

  1. 
  2. using EasyBL.WebApi;
  3. using EasyBL.WebApi.Common;
  4. using EasyBL.WebApi.Message;
  5. using Entity.ShowEasyDtos;
  6. using Entity.Sugar;
  7. using Newtonsoft.Json;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.Linq;
  12. using System.Net.Http;
  13. namespace EasyBL.WEBAPP.SYS
  14. {
  15. public class ExhibMediaService : ServiceBase
  16. {
  17. #region 展覽多媒體管理(List API 查詢展覽多媒體列表)
  18. /// <summary>
  19. /// 展覽多媒體管理(List API 查詢展覽多媒體列表)
  20. /// </summary>
  21. /// <param name="i_crm"></param>
  22. /// <returns></returns>
  23. public HttpResponseMessage GetMediaList(string sLanguageID, string sExhibitionID, string sMediaTypeID)
  24. {
  25. RequestMessage i_crm = new RequestMessage();
  26. i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
  27. i_crm.DATA.Add("LanguageID", sLanguageID);
  28. i_crm.DATA.Add("ExhibitionID", sExhibitionID);
  29. i_crm.DATA.Add("MediaTypeID", sMediaTypeID);
  30. SuccessResponseMessage srm = null;
  31. string sError = null;
  32. try
  33. {
  34. do
  35. {
  36. if (string.IsNullOrEmpty(sLanguageID))
  37. {
  38. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  39. }
  40. ExhibMediaMaintain_QryService emm_qry = new ExhibMediaMaintain_QryService();
  41. var rsResult = emm_qry.QueryMediaList(i_crm);
  42. //返回token信息
  43. srm = new SuccessResponseMessage(null, null);
  44. var rsExhibMediaList = new List<ExhibMediaDTO>();
  45. rsExhibMediaList = ExhibMediaEntityToDTO(rsResult.DATA[BLWording.REL]);
  46. srm.DATA.Add(BLWording.REL, rsExhibMediaList);
  47. } while (false);
  48. }
  49. catch (Exception ex)
  50. {
  51. sError = Util.GetLastExceptionMsg(ex);
  52. srm = new SuccessResponseMessage(null, null)
  53. {
  54. STATUSCODE = (int)StatusCodeEnum.Error,
  55. MSG = StatusCodeEnum.Error.GetEnumText()
  56. };
  57. srm.DATA.Add(BLWording.REL, "");
  58. }
  59. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  60. }
  61. #endregion 展覽多媒體管理(List API 查詢展覽多媒體列表)
  62. #region 展覽多媒體管理(List API 查詢展覽多媒體檔案列表)
  63. /// <summary>
  64. /// 展覽多媒體管理(List API 查詢展覽多媒體檔案列表)
  65. /// </summary>
  66. /// <param name="i_crm"></param>
  67. /// <returns></returns>
  68. public HttpResponseMessage GetMediaFileList(string sExhibitionID)
  69. {
  70. SuccessResponseMessage srm = null;
  71. string sError = null;
  72. try
  73. {
  74. do
  75. {
  76. ExhibMediaMaintain_QryService emm_qry = new ExhibMediaMaintain_QryService();
  77. var rsResult = emm_qry.QueryMediaFileList(sExhibitionID);
  78. //返回token信息
  79. srm = new SuccessResponseMessage(null, null);
  80. var rsExhibMediaList = new List<ExhibMediaDTO>();
  81. //rsExhibMediaList = ExhibMediaEntityToDTO(rsResult.DATA[BLWording.REL]);
  82. srm.DATA.Add(BLWording.REL, rsResult);
  83. } while (false);
  84. }
  85. catch (Exception ex)
  86. {
  87. sError = Util.GetLastExceptionMsg(ex);
  88. srm = new SuccessResponseMessage(null, null)
  89. {
  90. STATUSCODE = (int)StatusCodeEnum.Error,
  91. MSG = StatusCodeEnum.Error.GetEnumText()
  92. };
  93. srm.DATA.Add(BLWording.REL, "");
  94. }
  95. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  96. }
  97. #endregion 展覽多媒體管理(List API 查詢展覽多媒體檔案列表)
  98. private List<ExhibMediaDTO> ExhibMediaEntityToDTO(Object Data)
  99. {
  100. var Entities = new List<SETB_CMS_Exhibition_Media>();
  101. if (Data.GetType() == typeof(List<SETB_CMS_Exhibition_Media>))
  102. {
  103. Entities = ((IEnumerable)Data).Cast<SETB_CMS_Exhibition_Media>().ToList();
  104. }
  105. else
  106. {
  107. Entities.Add((SETB_CMS_Exhibition_Media)Data);
  108. }
  109. List<ExhibMediaDTO> result = new List<ExhibMediaDTO>();
  110. foreach (var Entity in Entities)
  111. {
  112. var ExhibMedia = new ExhibMediaDTO();
  113. ExhibMedia.MediaID = Entity.MediaID;
  114. ExhibMedia.ExhibitionID = Entity.ExhibitionID;
  115. ExhibMedia.MediaName = Entity.MediaName;
  116. ExhibMedia.MediaTypeID = Entity.MediaTypeID;
  117. ExhibMedia.Data = Entity.Data;
  118. ExhibMedia.Link = Entity.Link;
  119. result.Add(ExhibMedia);
  120. }
  121. return result;
  122. }
  123. }
  124. }