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.

123 lines
3.5 KiB

  1. using EasyBL;
  2. using EasyBL.WebApi.Common;
  3. using EasyBL.WebApi.Filters;
  4. using EasyBL.WebApi.Message;
  5. using EasyBL.WEBAPP;
  6. using EasyBL.WEBAPP.SYS;
  7. using EasyNet;
  8. using Entity.ShowEasyDtos;
  9. using Entity.Sugar;
  10. using Newtonsoft.Json;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Linq;
  14. using System.Net;
  15. using System.Net.Http;
  16. using System.Web.Http;
  17. namespace WebApp.Controllers
  18. {
  19. public class FavoriteController : ApiController
  20. {
  21. [HttpPost]
  22. [SEApiSecurityFilter]
  23. public HttpResponseMessage Favorite([FromBody] FavoriteDTO favorite)
  24. {
  25. // get authtoken
  26. var SEToken = SETokenUtil.GetToken(this.Request);
  27. favorite.MemberID = SEToken.Email;
  28. return new FavoriteService().SaveFavorite(favorite);
  29. }
  30. [HttpGet]
  31. [SEApiSecurityFilter]
  32. public HttpResponseMessage Favorites()
  33. {
  34. // get authtoken
  35. var SEToken = SETokenUtil.GetToken(this.Request);
  36. // get MemberID from authtoken
  37. FavoriteDTO favorite = new FavoriteDTO();
  38. favorite.MemberID = SEToken.Email;
  39. return new FavoriteService().GetFavorites(favorite);
  40. }
  41. [HttpGet]
  42. [SEApiSecurityFilter]
  43. public HttpResponseMessage Favorites(string Type)
  44. {
  45. // get authtoken
  46. var SEToken = SETokenUtil.GetToken(this.Request);
  47. FavoriteDTO favorite = new FavoriteDTO();
  48. favorite.MemberID = SEToken.Email;
  49. favorite.Type = Type;
  50. return new FavoriteService().GetFavorites(favorite);
  51. }
  52. [HttpGet]
  53. [SEApiSecurityFilter]
  54. public HttpResponseMessage ExhibitionList(string Lang, int PageIndex, int PageSize, string SubCategoryIDs, string CountryIDs, string Status)
  55. {
  56. List<string> rsSubCategoryIDList = new List<string>();
  57. List<string> rsCountryIDList = new List<string>();
  58. List<string> rsStatusList = new List<string>();
  59. if (!string.IsNullOrEmpty(SubCategoryIDs)) {
  60. rsSubCategoryIDList = JsonConvert.DeserializeObject<List<string>>(SubCategoryIDs);
  61. }
  62. if (!string.IsNullOrEmpty(CountryIDs))
  63. {
  64. rsCountryIDList = JsonConvert.DeserializeObject<List<string>>(CountryIDs);
  65. }
  66. if (!string.IsNullOrEmpty(Status))
  67. {
  68. rsStatusList = JsonConvert.DeserializeObject<List<string>>(Status);
  69. }
  70. // get authtoken
  71. var SEToken = SETokenUtil.GetToken(this.Request);
  72. var sAccount = SEToken.Email;
  73. return new FavoriteService().GetFavoriteExhibition(Lang, sAccount, PageIndex, PageSize, rsSubCategoryIDList, rsCountryIDList, rsStatusList);
  74. }
  75. [HttpGet]
  76. [SEApiSecurityFilter]
  77. public HttpResponseMessage ExhibitionCountryList(string Lang)
  78. {
  79. // get authtoken
  80. var SEToken = SETokenUtil.GetToken(this.Request);
  81. var sAccount = SEToken.Email;
  82. return new FavoriteService().GetExhibitionCountryList(Lang, sAccount);
  83. }
  84. [HttpGet]
  85. [SEApiSecurityFilter]
  86. public HttpResponseMessage ExhibitionStatusList(string Lang)
  87. {
  88. // get authtoken
  89. var SEToken = SETokenUtil.GetToken(this.Request);
  90. var sAccount = SEToken.Email;
  91. return new FavoriteService().GetExhibitionStatusList(Lang, sAccount);
  92. }
  93. }
  94. }