Browse Source

[WHAT] 增加會員訂單API關鍵字搜尋功能

Dev
berlin-tzen 2 years ago
parent
commit
00687a35ff
  1. 92
      EuroTran/EasyBL.WEBAPP/ShowEasy/BookingMaintain_QryService.cs
  2. 5
      EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs
  3. 4
      EuroTran/WebApp/Controllers/BookingOnlineController.cs

92
EuroTran/EasyBL.WEBAPP/ShowEasy/BookingMaintain_QryService.cs

@ -886,10 +886,12 @@ namespace EasyBL.WEBAPP.SYS
rsPayment.DueDate = Payment.DueDate;
rsPayment.PaymentDate = Payment.PaymentDate;
if (ImageDic.ContainsKey(Payment.Remittance))
{
if (!string.IsNullOrEmpty(Payment.Remittance)) {
rsPayment.Remittance = ImageDic[Payment.Remittance];
if (ImageDic.ContainsKey(Payment.Remittance))
{
rsPayment.Remittance = ImageDic[Payment.Remittance];
}
}
@ -980,7 +982,8 @@ namespace EasyBL.WEBAPP.SYS
string sAccount,
List<string> SubCategoryIDs,
List<string> BookingStatus,
List<string> PaymentStatus)
List<string> PaymentStatus,
string Query)
{
if (string.IsNullOrEmpty(sLanguageID))
@ -1005,6 +1008,10 @@ namespace EasyBL.WEBAPP.SYS
BookingDic = FilterDTOByPaymentStatus(BookingDic, PaymentStatus);
}
if (!string.IsNullOrEmpty(Query)) {
BookingDic = FilterByQuery(BookingDic, Query);
}
return BookingDic;
}
@ -1169,6 +1176,83 @@ namespace EasyBL.WEBAPP.SYS
return rsBookingDic;
}
public Dictionary<string, BookingDTO> FilterByQuery(Dictionary<string, BookingDTO> BookingDic, string Query)
{
Dictionary<string, BookingDTO> rsBookingDic = new Dictionary<string, BookingDTO>();
var rsBookingList = BookingDic.Values.ToList();
foreach (var Booking in rsBookingList)
{
// Filter by BookingNo
if (!string.IsNullOrEmpty(Booking.BookingNo))
{
if (Booking.BookingNo.Contains(Query))
{
rsBookingDic[Booking.BookingID] = Booking;
}
}
// Filter by OnSiteService
if (Booking.OnSiteService != null) {
var OnSiteService = Booking.OnSiteService;
if (!string.IsNullOrEmpty(OnSiteService.ServiceName)) {
if (OnSiteService.ServiceName.Contains(Query))
{
rsBookingDic[Booking.BookingID] = Booking;
}
}
}
// Filter by BookingDetail
if (Booking.BookingDetail.Count > 0) {
foreach (var item in Booking.BookingDetail) {
if (item.Contains(Query)) {
rsBookingDic[Booking.BookingID] = Booking;
}
}
}
// Filter by OtherDetail
if (Booking.OtherDetail.Count > 0)
{
if (Booking.OtherDetail.Contains(Query))
{
rsBookingDic[Booking.BookingID] = Booking;
}
}
// Filter by NoticeDetail
if (!string.IsNullOrEmpty(Booking.NoticeDetail))
{
if (Booking.NoticeDetail.Contains(Query))
{
rsBookingDic[Booking.BookingID] = Booking;
}
}
}
return rsBookingDic;
}
}
}

5
EuroTran/EasyBL.WEBAPP/ShowEasy/BookingOnlineService.cs

@ -123,7 +123,7 @@ namespace EasyBL.WEBAPP.SYS
/// </summary>
/// <returns></returns>
///
public HttpResponseMessage BookingCardList(string sLanguageID, string sAccount, int iPageIndex, int iPageSize, List<string> SubCategoryIDs, List<string> BookingStatuses, List<string> PaymentStatuses)
public HttpResponseMessage BookingCardList(string sLanguageID, string sAccount, int iPageIndex, int iPageSize, List<string> SubCategoryIDs, List<string> BookingStatuses, List<string> PaymentStatuses, string Query)
{
SuccessResponseMessage srm = null;
@ -137,10 +137,9 @@ namespace EasyBL.WEBAPP.SYS
sLanguageID = WebAppGlobalConstWord.DEFAULT_LANGUAGE;
}
BookingMaintain_QryService bm_qry = new BookingMaintain_QryService();
var rsResult = bm_qry.QueryAllBookingAsDTO(sLanguageID, sAccount, SubCategoryIDs, BookingStatuses, PaymentStatuses).Values.ToList();
var rsResult = bm_qry.QueryAllBookingAsDTO(sLanguageID, sAccount, SubCategoryIDs, BookingStatuses, PaymentStatuses, Query).Values.ToList();
// Pagination
if (iPageSize <= 0)

4
EuroTran/WebApp/Controllers/BookingOnlineController.cs

@ -47,7 +47,7 @@ namespace WebApp.Controllers
[HttpGet]
[SEApiSecurityFilter]
public HttpResponseMessage BookingCardList(string Lang, int PageIndex, int PageSize, string SubCategoryIDs, string BookingStatuses, string PaymentStatuses)
public HttpResponseMessage BookingCardList(string Lang, int PageIndex, int PageSize, string SubCategoryIDs, string BookingStatuses, string PaymentStatuses, string Query)
{
var SEToken = SETokenUtil.GetToken(this.Request);
@ -72,7 +72,7 @@ namespace WebApp.Controllers
rsPaymentStatuses = JsonConvert.DeserializeObject<List<string>>(PaymentStatuses);
}
return new BookingOnlineService().BookingCardList(Lang, sAccount, PageIndex, PageSize, rsSubCategoryIDs, rsBookingStatuses, rsPaymentStatuses);
return new BookingOnlineService().BookingCardList(Lang, sAccount, PageIndex, PageSize, rsSubCategoryIDs, rsBookingStatuses, rsPaymentStatuses, Query);
}
/// <summary>

Loading…
Cancel
Save