|
|
using EasyBL; using EasyBL.WebApi; using EasyBL.WebApi.Common; using EasyBL.WebApi.Filters; using EasyBL.WebApi.Message; using EasyBL.WEBAPP; using EasyBL.WEBAPP.SYS; using Entity.ShowEasyDtos; using Entity.Sugar; using Entity.ViewModels; using Newtonsoft.Json; using SqlSugar.Base; 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 BookingOnlineController : ApiController {
/// <summary>
/// 子類別查詢API (服務有包含該類別才列出)
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpGet] [SEApiSecurityFilter]
public HttpResponseMessage BookingCategoryList(string Lang) {
var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().GetBookingCategory(SEToken.Account, Lang); }
/// <summary>
/// 子類別查詢API (服務有包含該類別才列出)
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpGet] [SEApiSecurityFilter]
public HttpResponseMessage BookingCardList(string Lang, int PageIndex, int PageSize, string SubCategoryIDs, string BookingStatuses, string PaymentStatuses, string Query) {
var SEToken = SETokenUtil.GetToken(this.Request); var sAccount = SEToken.Email;
List<string> rsSubCategoryIDs = new List<string>(); List<string> rsBookingStatuses = new List<string>(); List<string> rsPaymentStatuses = new List<string>();
if (!string.IsNullOrEmpty(SubCategoryIDs)) { rsSubCategoryIDs = JsonConvert.DeserializeObject<List<string>>(SubCategoryIDs); }
if (!string.IsNullOrEmpty(BookingStatuses)) { rsBookingStatuses = JsonConvert.DeserializeObject<List<string>>(BookingStatuses); }
if (!string.IsNullOrEmpty(PaymentStatuses)) { rsPaymentStatuses = JsonConvert.DeserializeObject<List<string>>(PaymentStatuses); }
return new BookingOnlineService().BookingCardList(Lang, sAccount, PageIndex, PageSize, rsSubCategoryIDs, rsBookingStatuses, rsPaymentStatuses, Query); }
/// <summary>
/// 上傳匯款單
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpPost] [SEApiSecurityFilter]
public HttpResponseMessage UploadRemittance(string BookingID) {
var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().UploadRemittance(SEToken.OrgID, SEToken.Account, BookingID); }
/// <summary>
/// 導向後台
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpGet] public HttpResponseMessage RedirectToBackend(string BookingNo) {
var result = new BookingOnlineService().RedirectToBackend(BookingNo); var Server = Common.ConfigGetValue("", "ida:RedirectUri");
if (result.ReasonPhrase == "OK") { result = Request.CreateResponse(HttpStatusCode.Moved); result.Headers.Location = new Uri(Server); }
return result; }
/// <summary>
/// 取消訂單
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpPost] [SEApiSecurityFilter] public HttpResponseMessage CancelBooking(string BookingID, string Lang) {
var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().CancelBooking(SEToken.Account, BookingID, Lang); }
/// <summary>
/// 用訂單編號查
/// </summary>
/// <param name="argumentClassID"></param>
/// <returns></returns>
[HttpGet] [SEApiSecurityFilter] public HttpResponseMessage Booking(string Lang, string BookingID, string BookingNo) { var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().GetOneDetailBooking(Lang, SEToken.Account, BookingID, BookingNo); }
[HttpPost] [SEApiSecurityFilter] public HttpResponseMessage BookingStatus(string BookingID, string BookingStatus) {
var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().SaveBookingStatus(BookingID, BookingStatus); }
[HttpGet] [SEApiSecurityFilter] public HttpResponseMessage FindBookingID(string Lang, string BookingNo) { var SEToken = SETokenUtil.GetToken(this.Request);
return new BookingOnlineService().FindBookingID(Lang, SEToken.Account, BookingNo); }
} }
|