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.

186 lines
4.9 KiB

  1. using EasyBL.WebApi.Filters;
  2. using EasyBL.WEBAPP;
  3. using EasyBL.WEBAPP.SYS;
  4. using Entity.ShowEasyDtos;
  5. using Entity.Sugar;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Net;
  10. using System.Net.Http;
  11. using System.Web;
  12. using System.Web.Http;
  13. namespace WebApp.Controllers
  14. {
  15. public class MembersController : ApiController
  16. {
  17. [HttpPost]
  18. //[SEApiSecurityFilter]
  19. public HttpResponseMessage Login([FromBody] Login dto)
  20. {
  21. //登陸並返回token
  22. return new MembersService().Login(dto);
  23. }
  24. [HttpPost]
  25. [SEApiSecurityFilter]
  26. public HttpResponseMessage Member([FromBody] MemberDTO Member)
  27. {
  28. var SEToken = SETokenUtil.GetToken(this.Request);
  29. Member.Account = SEToken.Account;
  30. return new MembersService().Update(Member);
  31. }
  32. /// <summary>
  33. /// 上傳文件
  34. /// </summary>
  35. /// <param name="dto"></param>
  36. /// <returns></returns>
  37. [HttpPost]
  38. [SEApiSecurityFilter]
  39. public HttpResponseMessage UploadAvatar()
  40. {
  41. var SEToken = SETokenUtil.GetToken(this.Request);
  42. return new MembersService().UploadAvatar(SEToken.OrgID, SEToken.Account);
  43. }
  44. //註銷帳號
  45. [HttpGet]
  46. [SEApiSecurityFilter]
  47. public HttpResponseMessage DeactivateAccount()
  48. {
  49. var SEToken = SETokenUtil.GetToken(this.Request);
  50. return new MembersService().DeactivateAccount(SEToken.OrgID, SEToken.Account);
  51. }
  52. //會員個人訊息查詢
  53. [HttpGet]
  54. [SEApiSecurityFilter]
  55. public HttpResponseMessage Info()
  56. {
  57. //根據參數取得Member的詳細信息,調用時需要在Header中添加token相關信息,包括orgId,userid,timestamp,token
  58. //需要驗證的token相關信息的Api,添加上 [SEApiSecurityFilter]即可
  59. var SEToken = SETokenUtil.GetToken(this.Request);
  60. return new MembersService().GetMemberInfo(SEToken.OrgID, SEToken.Account);
  61. }
  62. //重設密碼
  63. [HttpPost]
  64. [SEApiSecurityFilter]
  65. public HttpResponseMessage ResetNewPassword(string Password)
  66. {
  67. var SEToken = SETokenUtil.GetToken(this.Request);
  68. return new MembersService().ResetNewPassword(SEToken.OrgID, SEToken.Account, Password);
  69. }
  70. [HttpGet]
  71. [SEApiSecurityFilter]
  72. public HttpResponseMessage Contacts()
  73. {
  74. var SEToken = SETokenUtil.GetToken(this.Request);
  75. return new ContactService().GetContacts(SEToken.OrgID, SEToken.Account);
  76. }
  77. [HttpPost]
  78. [SEApiSecurityFilter]
  79. public HttpResponseMessage Contact([FromBody] SETB_CRM_Contact Contact)
  80. {
  81. var SEToken = SETokenUtil.GetToken(this.Request);
  82. Contact.Account = SEToken.Account;
  83. Contact.OrgID = SEToken.OrgID;
  84. return new ContactService().SaveContact(Contact);
  85. }
  86. [HttpPost]
  87. [SEApiSecurityFilter]
  88. public HttpResponseMessage Contact(string ContactID)
  89. {
  90. var SEToken = SETokenUtil.GetToken(this.Request);
  91. var Contact = new SETB_CRM_Contact();
  92. Contact.ContactID = ContactID;
  93. Contact.Account = SEToken.Account;
  94. Contact.OrgID = SEToken.OrgID;
  95. return new ContactService().RemoveContact(Contact);
  96. }
  97. [HttpGet]
  98. [SEApiSecurityFilter]
  99. public HttpResponseMessage Companies(string Lang)
  100. {
  101. var SEToken = SETokenUtil.GetToken(this.Request);
  102. return new CompanyService().GetCompanies(SEToken.Account, Lang);
  103. }
  104. [HttpPost]
  105. [SEApiSecurityFilter]
  106. public HttpResponseMessage Company([FromBody] SETB_CRM_Company Company)
  107. {
  108. var SEToken = SETokenUtil.GetToken(this.Request);
  109. Company.Account = SEToken.Account;
  110. return new CompanyService().SaveCompany(Company);
  111. }
  112. [HttpPost]
  113. [SEApiSecurityFilter]
  114. public HttpResponseMessage Company(string CompanyID)
  115. {
  116. var SEToken = SETokenUtil.GetToken(this.Request);
  117. var Company = new SETB_CRM_Company();
  118. Company.CompanyID = CompanyID;
  119. Company.Account = SEToken.Account;
  120. return new CompanyService().RemoveCompany(Company);
  121. }
  122. //利用信箱重啟已註銷帳號
  123. [HttpPost]
  124. public HttpResponseMessage ReactivateAccount(string Email)
  125. {
  126. return new MembersService().ReactivateAccount(Email);
  127. }
  128. //利用帳號重啟已註銷帳號
  129. [HttpPost]
  130. public HttpResponseMessage ReactivateAccountByAcc(string Account)
  131. {
  132. return new MembersService().ReactivateAccountByAcc(Account);
  133. }
  134. }
  135. }