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.

202 lines
6.0 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. using EasyBL.WebApi.Filters;
  2. using EasyBL.WebApi.Message;
  3. using EasyBL.WEBAPP;
  4. using EasyBL.WEBAPP.ShowEasy;
  5. using EasyBL.WEBAPP.SYS;
  6. using Entity.ShowEasyDtos;
  7. using Entity.Sugar;
  8. using Newtonsoft.Json;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Linq;
  12. using System.Net;
  13. using System.Net.Http;
  14. using System.Web.Http;
  15. namespace WebApp.Controllers
  16. {
  17. public class OnsiteController : ApiController
  18. {
  19. //所有服務Api
  20. [HttpGet]
  21. public HttpResponseMessage AllCategories(string Lang)
  22. {
  23. return new OnsiteService().GetAllCategoryFilterList(Lang);
  24. }
  25. //服務主列表服務Api
  26. [HttpGet]
  27. public HttpResponseMessage Categories(string Lang)
  28. {
  29. return new OnsiteService().GetCategoryFilterList(Lang);
  30. }
  31. //所有位置(州 國家 城市)
  32. [HttpGet]
  33. public HttpResponseMessage AllLocations(string Lang)
  34. {
  35. return new OnsiteService().GetAllLocationFilterList(Lang);
  36. }
  37. //取得所有Onsite服務的位置
  38. [HttpGet]
  39. public HttpResponseMessage Locations(string Lang)
  40. {
  41. return new OnsiteService().GetLocationFilterList(Lang);
  42. }
  43. //服務列表分頁查詢
  44. [HttpGet]
  45. public HttpResponseMessage ServiceLists(string Lang,int PageIndex,int PageSize,string SortField,string SortOrder,string KeyWord,string Categories,string Locations,string Currency,int MinPrice,int MaxPrice)
  46. {
  47. return new OnsiteService().GetOnsiteByPage( Lang, PageIndex, PageSize, SortField, SortOrder, KeyWord, Categories, Locations, Currency, MinPrice, MaxPrice);
  48. }
  49. //詳情頁圖片輪播
  50. [HttpGet]
  51. public HttpResponseMessage BannerFiles(string Lang,string ServiceID)
  52. {
  53. return new OnsiteService().GetBannerFiles(Lang, ServiceID);
  54. }
  55. //包裝類型
  56. [HttpGet]
  57. public HttpResponseMessage PackingTypes(string Lang)
  58. {
  59. return new OnsiteService().GetPackingTypes(Lang);
  60. }
  61. //領取地城市
  62. [HttpGet]
  63. public HttpResponseMessage ReceivingCitys(string Lang)
  64. {
  65. return new OnsiteService().GetReceivingCitys(Lang);
  66. }
  67. //服務項目
  68. [HttpGet]
  69. public HttpResponseMessage ServiceItems(string Lang, string ServiceID)
  70. {
  71. return new OnsiteService().GetServiceItems(Lang, ServiceID);
  72. }
  73. //展覽年份
  74. [HttpGet]
  75. public HttpResponseMessage ExtensionYear(string Lang, string ServiceID)
  76. {
  77. return new OnsiteService().GetExtensionYears(Lang, ServiceID);
  78. }
  79. //展覽月份
  80. [HttpGet]
  81. public HttpResponseMessage ExtensionMonth(string Lang)
  82. {
  83. return new OnsiteService().GetExtensionMonths(Lang);
  84. }
  85. //展覽列表
  86. [HttpGet]
  87. public HttpResponseMessage Exhibitions(string Lang,string ServiceID,string Year,string Month)
  88. {
  89. return new OnsiteService().QueryExhibitions(Lang, ServiceID, Year, Month);
  90. }
  91. //服務細項目
  92. [HttpGet]
  93. public HttpResponseMessage Info(string Lang, string ServiceID)
  94. {
  95. return new OnsiteService().GetOneOnsiteServiceInfo(Lang, ServiceID);
  96. }
  97. //服務費用List
  98. [HttpGet]
  99. public HttpResponseMessage InfoItem(string Lang, string ServiceID)
  100. {
  101. return new OnsiteService().GetOneOnsiteItem(Lang, ServiceID);
  102. }
  103. //卡車類型
  104. [HttpGet]
  105. public HttpResponseMessage TruckTypes(string Lang)
  106. {
  107. return new OnsiteService().GetTruckTypes(Lang);
  108. }
  109. //訂單問題
  110. [HttpGet]
  111. public HttpResponseMessage OrderQuestions(string Lang,string ServiceID)
  112. {
  113. return new OnsiteService().GetOrderQuestions(Lang ,ServiceID);
  114. }
  115. //支付方式
  116. [HttpGet]
  117. public HttpResponseMessage PayTypes(string Lang, string ServiceID)
  118. {
  119. return new OnsiteService().GetPayTypes(Lang, ServiceID);
  120. }
  121. //會員個人訊息查詢
  122. [HttpGet]
  123. [SEApiSecurityFilter]
  124. public HttpResponseMessage MemberInfo()
  125. {
  126. //根據參數取得Member的詳細信息,調用時需要在Header中添加token相關信息,包括orgId,userid,timestamp,token
  127. //需要驗證的token相關信息的Api,添加上 [SEApiSecurityFilter]即可
  128. var SEToken = SETokenUtil.GetToken(this.Request);
  129. return new OnsiteService().GetMemberInfo(SEToken.OrgID, SEToken.Account);
  130. }
  131. //會員個人訊息更新
  132. [HttpPost]
  133. [SEApiSecurityFilter]
  134. public HttpResponseMessage Member([FromBody] MemberDTO Member)
  135. {
  136. var SEToken = SETokenUtil.GetToken(this.Request);
  137. Member.Account = SEToken.Account;
  138. return new OnsiteService().UpdateMember(Member);
  139. }
  140. //國家列表
  141. [HttpGet]
  142. public HttpResponseMessage Countries(string Lang)
  143. {
  144. return new LocationService().GetCountryList(Lang, "");
  145. }
  146. //公司信息
  147. [HttpPost]
  148. [SEApiSecurityFilter]
  149. public HttpResponseMessage Company([FromBody] SETB_CRM_Company Company)
  150. {
  151. var SEToken = SETokenUtil.GetToken(this.Request);
  152. Company.Account = SEToken.Account;
  153. return new OnsiteService().SaveCompany(Company);
  154. }
  155. //預約信息
  156. [HttpPost]
  157. //[SEApiSecurityFilter]
  158. public HttpResponseMessage Booking([FromBody] BookingOrderDTO Booking)
  159. {
  160. var SEToken = SETokenUtil.GetToken(this.Request);
  161. return new OnsiteService().InsertBooking(Booking, SEToken.Account);
  162. //var SEToken = SETokenUtil.GetToken(this.Request);
  163. //return new OnsiteService().InsertBooking(Booking, "janie.chang@showeasy.com");
  164. }
  165. }
  166. }