618 lines
20 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 Entity.ViewModels;
  8. using Newtonsoft.Json;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Net.Http;
  14. namespace EasyBL.WEBAPP.SYS
  15. {
  16. public class ExhibitionService : ServiceBase
  17. {
  18. #region 展覽管理(List API 展覽狀下拉選單)
  19. /// <summary>
  20. /// 展覽管理(List API 展覽狀下拉選單)
  21. /// </summary>
  22. /// <param name="i_crm"></param>
  23. /// <returns></returns>
  24. public HttpResponseMessage GetStatusList(string sLanguageID)
  25. {
  26. RequestMessage i_crm = new RequestMessage();
  27. i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
  28. i_crm.DATA.Add("LanguageID", sLanguageID);
  29. SuccessResponseMessage srm = null;
  30. string sError = null;
  31. try
  32. {
  33. do
  34. {
  35. if (string.IsNullOrEmpty(sLanguageID))
  36. {
  37. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  38. }
  39. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  40. var rsResult = em_qry.QueryShowStatusDic(sLanguageID).Values.ToList();
  41. //返回token信息
  42. srm = new SuccessResponseMessage(null, null);
  43. srm.DATA.Add(BLWording.REL, rsResult);
  44. } while (false);
  45. }
  46. catch (Exception ex)
  47. {
  48. sError = Util.GetLastExceptionMsg(ex);
  49. srm = new SuccessResponseMessage(null, null)
  50. {
  51. STATUSCODE = (int)StatusCodeEnum.Error,
  52. MSG = StatusCodeEnum.Error.GetEnumText()
  53. };
  54. srm.DATA.Add(BLWording.REL, "");
  55. }
  56. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  57. }
  58. #endregion 展覽管理(List API 展覽狀下拉選單)
  59. #region 展覽管理(List API 展覽類別篩選器)
  60. /// <summary>
  61. /// 展覽管理(List API 展覽類別篩選器)
  62. /// </summary>
  63. /// <param name="i_crm"></param>
  64. /// <returns></returns>
  65. public HttpResponseMessage GetCategoryFilterList(string sLanguageID)
  66. {
  67. SuccessResponseMessage srm = null;
  68. string sError = null;
  69. try
  70. {
  71. do
  72. {
  73. if (string.IsNullOrEmpty(sLanguageID))
  74. {
  75. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  76. }
  77. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  78. var rsResult = em_qry.QueryCategoryFilterList(sLanguageID);
  79. //返回token信息
  80. srm = new SuccessResponseMessage(null, null);
  81. srm.DATA.Add(BLWording.REL, rsResult);
  82. } while (false);
  83. }
  84. catch (Exception ex)
  85. {
  86. sError = Util.GetLastExceptionMsg(ex);
  87. srm = new SuccessResponseMessage(null, null)
  88. {
  89. STATUSCODE = (int)StatusCodeEnum.Error,
  90. MSG = StatusCodeEnum.Error.GetEnumText()
  91. };
  92. srm.DATA.Add(BLWording.REL, "");
  93. }
  94. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  95. }
  96. #endregion 展覽管理(List API 展覽類別篩選器)
  97. #region 展覽管理(List API 熱門展覽查詢)
  98. /// <summary>
  99. /// 展覽管理(List API 熱門展覽查詢)
  100. /// </summary>
  101. /// <param name="i_crm"></param>
  102. /// <returns></returns>
  103. public HttpResponseMessage GetPopularExhibitionList(string sLanguageID, int iCount)
  104. {
  105. SuccessResponseMessage srm = null;
  106. string sError = null;
  107. try
  108. {
  109. do
  110. {
  111. if (string.IsNullOrEmpty(sLanguageID))
  112. {
  113. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  114. }
  115. if (iCount <= 0)
  116. {
  117. iCount = WebAppGlobalConstWord.TOP_LIMIT;
  118. }
  119. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  120. var rsResult = em_qry.QueryPopularExhibitionList(sLanguageID, iCount);
  121. //返回token信息
  122. srm = new SuccessResponseMessage(null, null);
  123. srm.DATA.Add(BLWording.REL, rsResult);
  124. } while (false);
  125. }
  126. catch (Exception ex)
  127. {
  128. sError = Util.GetLastExceptionMsg(ex);
  129. srm = new SuccessResponseMessage(null, null)
  130. {
  131. STATUSCODE = (int)StatusCodeEnum.Error,
  132. MSG = StatusCodeEnum.Error.GetEnumText()
  133. };
  134. srm.DATA.Add(BLWording.REL, "");
  135. }
  136. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  137. }
  138. #endregion 展覽管理(List API 熱門展覽查詢)
  139. #region 展覽管理(List API 查詢展覽列表)
  140. /// <summary>
  141. /// 展覽管理(List API 查詢展覽列表)
  142. /// </summary>
  143. /// <param name="i_crm"></param>
  144. /// <returns></returns>
  145. public HttpResponseMessage GetAllExhibitionList(string sLanguageID)
  146. {
  147. SuccessResponseMessage srm = null;
  148. string sError = null;
  149. try
  150. {
  151. do
  152. {
  153. if (string.IsNullOrEmpty(sLanguageID))
  154. {
  155. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  156. }
  157. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  158. var rsResult = em_qry.FindAllByIDsAsDictionary(sLanguageID).Values.ToList();
  159. //返回token信息
  160. srm = new SuccessResponseMessage(null, null);
  161. //返回token信息
  162. srm = new SuccessResponseMessage(null, null);
  163. srm.DATA.Add(BLWording.REL, rsResult);
  164. } while (false);
  165. }
  166. catch (Exception ex)
  167. {
  168. sError = Util.GetLastExceptionMsg(ex);
  169. srm = new SuccessResponseMessage(null, null)
  170. {
  171. STATUSCODE = (int)StatusCodeEnum.Error,
  172. MSG = StatusCodeEnum.Error.GetEnumText()
  173. };
  174. srm.DATA.Add(BLWording.REL, "");
  175. }
  176. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  177. }
  178. #endregion 展覽管理(List API 查詢展覽列表)
  179. #region 展覽管理(Exhibition API 以ID查詢單筆展覽)
  180. /// <summary>
  181. /// 展覽管理(Exhibition API 以ID查詢單筆展覽)
  182. /// </summary>
  183. /// <param name="i_crm"></param>
  184. /// <returns></returns>
  185. public HttpResponseMessage GetOneExhibition(string sLanguageID, string sExhibitionID)
  186. {
  187. SuccessResponseMessage srm = null;
  188. string sError = null;
  189. try
  190. {
  191. do
  192. {
  193. if (string.IsNullOrEmpty(sLanguageID))
  194. {
  195. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  196. }
  197. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  198. var rsResult = em_qry.QueryOneDetailExhibition(sLanguageID, sExhibitionID);
  199. //返回token信息
  200. srm = new SuccessResponseMessage(null, null);
  201. srm.DATA.Add(BLWording.REL, rsResult);
  202. } while (false);
  203. }
  204. catch (Exception ex)
  205. {
  206. sError = Util.GetLastExceptionMsg(ex);
  207. srm = new SuccessResponseMessage(null, null)
  208. {
  209. STATUSCODE = (int)StatusCodeEnum.Error,
  210. MSG = StatusCodeEnum.Error.GetEnumText()
  211. };
  212. srm.DATA.Add(BLWording.REL, "");
  213. }
  214. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  215. }
  216. #endregion 展覽管理(Exhibition API 以ID查詢單筆展覽)
  217. #region 展覽管理(List API 查詢相關服務列表)
  218. /// <summary>
  219. /// 展覽管理(List API 查詢相關服務列表)
  220. /// </summary>
  221. /// <param name="i_crm"></param>
  222. /// <returns></returns>
  223. public HttpResponseMessage GetRelatedServiceList(string sLanguageID, string sExhibitionID )
  224. {
  225. SuccessResponseMessage srm = null;
  226. string sError = null;
  227. try
  228. {
  229. do
  230. {
  231. if (string.IsNullOrEmpty(sLanguageID))
  232. {
  233. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  234. }
  235. Services2Service s2s = new Services2Service();
  236. var rsServiceList = s2s.GetRelatedServiceList(sLanguageID, sExhibitionID);
  237. //返回token信息
  238. srm = new SuccessResponseMessage(null, null);
  239. srm.DATA.Add(BLWording.REL, rsServiceList);
  240. } while (false);
  241. }
  242. catch (Exception ex)
  243. {
  244. sError = Util.GetLastExceptionMsg(ex);
  245. srm = new SuccessResponseMessage(null, null)
  246. {
  247. STATUSCODE = (int)StatusCodeEnum.Error,
  248. MSG = StatusCodeEnum.Error.GetEnumText()
  249. };
  250. srm.DATA.Add(BLWording.REL, "");
  251. }
  252. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  253. }
  254. #endregion 展覽管理(List API 查詢相關服務列表)
  255. #region 展覽管理(List API 展覽位置列表)
  256. /// <summary>
  257. /// 展覽管理(List API 展覽狀下拉選單)
  258. /// </summary>
  259. /// <param name="i_crm"></param>
  260. /// <returns></returns>
  261. public HttpResponseMessage GetLocationFilterList(string sLanguageID)
  262. {
  263. RequestMessage i_crm = new RequestMessage();
  264. i_crm.ORIGID = WebAppGlobalConstWord.TG_ORGID;
  265. i_crm.DATA.Add("LanguageID", sLanguageID);
  266. SuccessResponseMessage srm = null;
  267. string sError = null;
  268. try
  269. {
  270. do
  271. {
  272. if (string.IsNullOrEmpty(sLanguageID))
  273. {
  274. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  275. }
  276. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  277. var rsResult = em_qry.QueryLocationFilterList(sLanguageID);
  278. //返回token信息
  279. srm = new SuccessResponseMessage(null, null);
  280. srm.DATA.Add(BLWording.REL, rsResult);
  281. } while (false);
  282. }
  283. catch (Exception ex)
  284. {
  285. sError = Util.GetLastExceptionMsg(ex);
  286. srm = new SuccessResponseMessage(null, null)
  287. {
  288. STATUSCODE = (int)StatusCodeEnum.Error,
  289. MSG = StatusCodeEnum.Error.GetEnumText()
  290. };
  291. srm.DATA.Add(BLWording.REL, "");
  292. }
  293. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  294. }
  295. #endregion 展覽管理(List API 展覽狀下拉選單)
  296. public HttpResponseMessage GetExhibitionCard(
  297. string sLanguageID,
  298. List<string> RegionIDs,
  299. List<string> CountryIDs,
  300. List<string> CityIDs,
  301. List<string> MainCategoryIDs,
  302. List<string> SubCategoryIDs,
  303. List<string> Status,
  304. List<string> Date,
  305. string SortType) {
  306. SuccessResponseMessage srm = null;
  307. string sError = null;
  308. try
  309. {
  310. do
  311. {
  312. if (string.IsNullOrEmpty(sLanguageID))
  313. {
  314. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  315. }
  316. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  317. var rsResult = em_qry.QueryExhibitionCard(sLanguageID, RegionIDs, CountryIDs, CityIDs, MainCategoryIDs, SubCategoryIDs, Status, Date, SortType);
  318. //返回token信息
  319. srm = new SuccessResponseMessage(null, null);
  320. srm.DATA.Add(BLWording.REL, rsResult);
  321. } while (false);
  322. }
  323. catch (Exception ex)
  324. {
  325. sError = Util.GetLastExceptionMsg(ex);
  326. srm = new SuccessResponseMessage(null, null)
  327. {
  328. STATUSCODE = (int)StatusCodeEnum.Error,
  329. MSG = StatusCodeEnum.Error.GetEnumText()
  330. };
  331. srm.DATA.Add(BLWording.REL, "");
  332. }
  333. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  334. }
  335. public HttpResponseMessage GetPopularCountry(string sLanguageID, int iCount) {
  336. SuccessResponseMessage srm = null;
  337. string sError = null;
  338. try
  339. {
  340. do
  341. {
  342. if (string.IsNullOrEmpty(sLanguageID))
  343. {
  344. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  345. }
  346. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  347. var rsResult = em_qry.QueryPopularCountry(sLanguageID, iCount);
  348. //返回token信息
  349. srm = new SuccessResponseMessage(null, null);
  350. srm.DATA.Add(BLWording.REL, rsResult);
  351. } while (false);
  352. }
  353. catch (Exception ex)
  354. {
  355. sError = Util.GetLastExceptionMsg(ex);
  356. srm = new SuccessResponseMessage(null, null)
  357. {
  358. STATUSCODE = (int)StatusCodeEnum.Error,
  359. MSG = StatusCodeEnum.Error.GetEnumText()
  360. };
  361. srm.DATA.Add(BLWording.REL, "");
  362. }
  363. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  364. }
  365. public HttpResponseMessage GetPopularCategory(string sLanguageID, int iCount)
  366. {
  367. SuccessResponseMessage srm = null;
  368. string sError = null;
  369. try
  370. {
  371. do
  372. {
  373. if (string.IsNullOrEmpty(sLanguageID))
  374. {
  375. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  376. }
  377. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  378. var rsResult = em_qry.QueryPopularCategory(sLanguageID, iCount);
  379. //返回token信息
  380. srm = new SuccessResponseMessage(null, null);
  381. srm.DATA.Add(BLWording.REL, rsResult);
  382. } while (false);
  383. }
  384. catch (Exception ex)
  385. {
  386. sError = Util.GetLastExceptionMsg(ex);
  387. srm = new SuccessResponseMessage(null, null)
  388. {
  389. STATUSCODE = (int)StatusCodeEnum.Error,
  390. MSG = StatusCodeEnum.Error.GetEnumText()
  391. };
  392. srm.DATA.Add(BLWording.REL, "");
  393. }
  394. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  395. }
  396. public HttpResponseMessage GetCategoryExhibition(string sLanguageID, List<string> IncludeCountryIDs, List<string> ExcludeCountryIDs) {
  397. SuccessResponseMessage srm = null;
  398. string sError = null;
  399. try
  400. {
  401. do
  402. {
  403. if (string.IsNullOrEmpty(sLanguageID))
  404. {
  405. sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
  406. }
  407. ExhibMaintain_QryService em_qry = new ExhibMaintain_QryService();
  408. var rsResult = em_qry.QueryCategoryExhibition(sLanguageID, IncludeCountryIDs, ExcludeCountryIDs);
  409. //返回token信息
  410. srm = new SuccessResponseMessage(null, null);
  411. srm.DATA.Add(BLWording.REL, rsResult);
  412. } while (false);
  413. }
  414. catch (Exception ex)
  415. {
  416. sError = Util.GetLastExceptionMsg(ex);
  417. srm = new SuccessResponseMessage(null, null)
  418. {
  419. STATUSCODE = (int)StatusCodeEnum.Error,
  420. MSG = StatusCodeEnum.Error.GetEnumText()
  421. };
  422. srm.DATA.Add(BLWording.REL, "");
  423. }
  424. return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
  425. }
  426. private List<StatusDTO> StatusEntityToDTO(Object Data)
  427. {
  428. var Entities = new List<OTB_SYS_Arguments>();
  429. if (Data.GetType() == typeof(List<OTB_SYS_Arguments>))
  430. {
  431. Entities = ((IEnumerable)Data).Cast<OTB_SYS_Arguments>().ToList();
  432. }
  433. else
  434. {
  435. Entities.Add((OTB_SYS_Arguments)Data);
  436. }
  437. List<StatusDTO> result = new List<StatusDTO>();
  438. foreach (var Entity in Entities)
  439. {
  440. var Status = new StatusDTO();
  441. Status.Key = Entity.ArgumentID;
  442. Status.Value = Entity.ArgumentValue;
  443. result.Add(Status);
  444. }
  445. return result;
  446. }
  447. //private List<ExhibitionDTO> ExhibitionEntityToDTO(Object Data)
  448. //{
  449. // var Entities = new List<View_CMS_Exhibition>();
  450. // if (Data.GetType() == typeof(List<View_CMS_Exhibition>))
  451. // {
  452. // Entities = ((IEnumerable)Data).Cast<View_CMS_Exhibition>().ToList();
  453. // }
  454. // else
  455. // {
  456. // Entities.Add((View_CMS_Exhibition)Data);
  457. // }
  458. // List<ExhibitionDTO> result = new List<ExhibitionDTO>();
  459. // foreach (var Entity in Entities)
  460. // {
  461. // var Exhibition = new ExhibitionDTO();
  462. // Exhibition.ExhibitionID = Entity.ExhibitionID;
  463. // Exhibition.ExhibitionNo = Entity.ExhibitionNo;
  464. // Exhibition.ExhibitionName = Entity.ExhibitionName;
  465. // Exhibition.AbbreviatedName = Entity.AbbreviatedName;
  466. // Exhibition.ExhibStatus = Entity.ExhibStatus;
  467. // Exhibition.Frequency = Entity.Frequency;
  468. // Exhibition.IsVirtualEvent = Entity.IsVirtualEvent;
  469. // Exhibition.MainCategoryIDs = Entity.MainCategoryIDs;
  470. // Exhibition.SubCategoryIDs = Entity.SubCategoryIDs;
  471. // //Exhibition.RegionName = Entity.RegionName;
  472. // //Exhibition.CountryName = Entity.CountryName;
  473. // //Exhibition.CityName = Entity.CityName;
  474. // Exhibition.Tags = Entity.Tags;
  475. // Exhibition.VirtualEventLink = Entity.VirtualEventLink;
  476. // Exhibition.Website = Entity.Website;
  477. // Exhibition.Logo = Entity.Logo;
  478. // Exhibition.IsRecommend = Entity.IsRecommend;
  479. // result.Add(Exhibition);
  480. // }
  481. // return result;
  482. //}
  483. }
  484. }