一、原因
使用者希望背景維護每日預約送貨/提貨時間配置一鍵生成,不需要過多操作。
二、整理實作思路
1.靈活維護/配置送貨、提貨時間段及允許預約數量的模闆,如圖所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM9AnYldnJwAzN9c3Pn5GcuQ0MlMWbidXNT90MBRkTw0keOFTUU1EdVpnTyUleNhXRU1UerRUTzEERNlXQq1EdFR0T3lEVPVDO550dBpWT3lkeMh3ZE1UerR1T2NmMiNnSywEd5ITW110MaZHetlVdO1GT3lERNl3YXJGc5kHT20ESjBjUIF2Lc12bj5SYphXa5VWen5WY35iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.png)
2.預約日期處理:
① 查找提貨/送貨時間配置的預約日期中最新一條資料大于等于當天日期,則預約日期自增一天;
② 查找提貨/送貨時間配置的預約日期中最新一條資料小于當天日期,則預設當天日期;
③ 預約日期唯一,重複校驗
3.把維護預約時間段模闆導入預約送貨/提貨時間段配置資料:
① 查詢送貨/提貨時間段模闆配置按升序的排序資料資訊
② 資料添加預約送貨/提貨時間段配置的集合中,如圖所示:
③ 注意點:時間段:22:00-8:00,處理當天日期時間段和第二天日期時間段,如果開始時間大于截至時間,則自增加1天處理,如圖所示:
④ 查找提貨/送貨時間配置的預約日期中最新一條資料,如圖所示:
通過倒叙查找預設第一條;找到最新資料預約日期是2020-07-08
⑤ 字元串截取時間段:
var FPeriod=7:00-8:00;
string time = item.FPeriod;
string[] timeArray = time.Split(\'-\');
timeArray[0]="7:00";
timeArray[1]="8:00";
三、學習内容
1. 通過倒叙查找預設第一條,找到最新資料預約日期的方法;
var Ddate = new XPCollection<R_AppointmentDeliverySchedule>(Session, CriteriaOperator.Parse("true"),
new SortProperty("FDateTime", DevExpress.Xpo.DB.SortingDirection.Descending)).FirstOrDefault();