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 { /// /// 子類別查詢API (服務有包含該類別才列出) /// /// /// [HttpGet] [SEApiSecurityFilter] public HttpResponseMessage BookingCategoryList(string Lang) { var SEToken = SETokenUtil.GetToken(this.Request); return new BookingOnlineService().GetBookingCategory(SEToken.Account, Lang); } /// /// 子類別查詢API (服務有包含該類別才列出) /// /// /// [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 rsSubCategoryIDs = new List(); List rsBookingStatuses = new List(); List rsPaymentStatuses = new List(); if (!string.IsNullOrEmpty(SubCategoryIDs)) { rsSubCategoryIDs = JsonConvert.DeserializeObject>(SubCategoryIDs); } if (!string.IsNullOrEmpty(BookingStatuses)) { rsBookingStatuses = JsonConvert.DeserializeObject>(BookingStatuses); } if (!string.IsNullOrEmpty(PaymentStatuses)) { rsPaymentStatuses = JsonConvert.DeserializeObject>(PaymentStatuses); } return new BookingOnlineService().BookingCardList(Lang, sAccount, PageIndex, PageSize, rsSubCategoryIDs, rsBookingStatuses, rsPaymentStatuses, Query); } /// /// 上傳匯款單 /// /// /// [HttpPost] [SEApiSecurityFilter] public HttpResponseMessage UploadRemittance(string BookingID) { var SEToken = SETokenUtil.GetToken(this.Request); return new BookingOnlineService().UploadRemittance(SEToken.OrgID, SEToken.Account, BookingID); } /// /// 導向後台 /// /// /// [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; } /// /// 取消訂單 /// /// /// [HttpPost] [SEApiSecurityFilter] public HttpResponseMessage CancelBooking(string BookingID, string Lang) { var SEToken = SETokenUtil.GetToken(this.Request); return new BookingOnlineService().CancelBooking(SEToken.Account, BookingID, Lang); } /// /// 用訂單編號查 /// /// /// [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); } } }