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
5.1 KiB
165 lines
5.1 KiB
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);
|
|
}
|
|
|
|
|
|
}
|
|
}
|