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.
 
 
 
 
 

165 lines
4.3 KiB

using EasyBL.WebApi.Filters;
using EasyBL.WEBAPP;
using EasyBL.WEBAPP.SYS;
using Entity.ShowEasyDtos;
using Entity.Sugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
namespace WebApp.Controllers
{
public class MembersController : ApiController
{
[HttpPost]
//[SEApiSecurityFilter]
public HttpResponseMessage Login([FromBody] Login dto)
{
//登陸並返回token
return new MembersService().Login(dto);
}
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage Member([FromBody] MemberDTO Member)
{
var SEToken = SETokenUtil.GetToken(this.Request);
Member.Account = SEToken.Account;
return new MembersService().Update(Member);
}
/// <summary>
/// 上傳文件
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
public HttpResponseMessage UploadAvatar()
{
return new MembersService().UploadAvatar();
}
//註銷帳號
[HttpGet]
[SEApiSecurityFilter]
public HttpResponseMessage DeactivateAccount()
{
var SEToken = SETokenUtil.GetToken(this.Request);
return new MembersService().DeactivateAccount(SEToken.OrgID, SEToken.Account);
}
//會員個人訊息查詢
[HttpGet]
[SEApiSecurityFilter]
public HttpResponseMessage Info()
{
//根據參數取得Member的詳細信息,調用時需要在Header中添加token相關信息,包括orgId,userid,timestamp,token
//需要驗證的token相關信息的Api,添加上 [SEApiSecurityFilter]即可
var SEToken = SETokenUtil.GetToken(this.Request);
return new MembersService().GetMemberInfo(SEToken.OrgID, SEToken.Account);
}
//重設密碼
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage ResetNewPassword(string Password)
{
var SEToken = SETokenUtil.GetToken(this.Request);
return new MembersService().ResetNewPassword(SEToken.OrgID, SEToken.Account, Password);
}
[HttpGet]
[SEApiSecurityFilter]
public HttpResponseMessage Contacts()
{
var SEToken = SETokenUtil.GetToken(this.Request);
return new ContactService().GetContacts(SEToken.OrgID, SEToken.Account);
}
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage Contact([FromBody] SETB_CRM_Contact Contact)
{
var SEToken = SETokenUtil.GetToken(this.Request);
Contact.Account = SEToken.Account;
Contact.OrgID = SEToken.OrgID;
return new ContactService().SaveContact(Contact);
}
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage Contact(string ContactID)
{
var SEToken = SETokenUtil.GetToken(this.Request);
var Contact = new SETB_CRM_Contact();
Contact.ContactID = ContactID;
Contact.Account = SEToken.Account;
Contact.OrgID = SEToken.OrgID;
return new ContactService().RemoveContact(Contact);
}
[HttpGet]
[SEApiSecurityFilter]
public HttpResponseMessage Companies(string Lang)
{
var SEToken = SETokenUtil.GetToken(this.Request);
return new CompanyService().GetCompanies(SEToken.Account, Lang);
}
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage Company([FromBody] SETB_CRM_Company Company)
{
var SEToken = SETokenUtil.GetToken(this.Request);
Company.Account = SEToken.Account;
return new CompanyService().SaveCompany(Company);
}
[HttpPost]
[SEApiSecurityFilter]
public HttpResponseMessage Company(string CompanyID)
{
var SEToken = SETokenUtil.GetToken(this.Request);
var Company = new SETB_CRM_Company();
Company.CompanyID = CompanyID;
Company.Account = SEToken.Account;
return new CompanyService().RemoveCompany(Company);
}
}
}