使用ivx實現預約會議室模型的經驗總結

在ivx的案例中,後臺常常使用到的組件就是數據庫了,一些須要持久化保存的數據都會保存在數據庫中以便每次打開案例都能讀取到這些數據,數據可能爲用戶信息,操做記錄等等。今天咱們就來實現一個預定會議室的模型,要實現的功能就是用戶能夠選擇使用會議室的時間段並提交,若是以前的預定中不包含這個時間段就能夠預定成功並增長一條記錄,下面就來講說具體步驟。
一.數據庫
數據庫中咱們添加了三個字段,預訂人,開始時間和結束時間,預訂人的字段類型爲文本便可,而開始時間和結束時間的字段類型要選擇時間,能夠注意到這兩個字段的右上角圖標是鐘錶樣式。
使用ivx實現預約會議室模型的經驗總結
使用ivx實現預約會議室模型的經驗總結
二.預約會議室服務
服務中的三個接收參數分別對應數據庫添加的三個字段,另外服務須要返回最終的執行結果,咱們使用「是否成功」標識預定成功與否,「重複記錄」則存放與提交中的時間段有重疊的歷史預定記錄。服務中咱們先對數據庫中的數據進行一個篩選輸出,時間段發生重疊有三種狀況:1數據庫中數據的開始時間在提交時間段內;2數據庫中數據的結束時間在提交時間段內;3數據庫中數據的時間段被包含在提交時間段內,因此篩選的條件如圖。注意咱們數據庫的字段類型爲時間,因此條件中的判斷符是「時間>」和「時間<」。
使用ivx實現預約會議室模型的經驗總結
另外注意一下ivx中且條件和或條件的結構是這樣的:
使用ivx實現預約會議室模型的經驗總結
依此條件輸出後若是輸出結果有數據,說明有時間段重疊,預定失敗,;若是輸出結果是空的,說明沒有時間段重疊,咱們將新的預定寫入數據庫並返回預定成功。數據庫

三.前臺
1.預定事件
前臺界面上方的絕對定位容器用於提交預定,第一行是用於輸入預定人姓名的輸入框,第二行的輸入框則是用來展現選擇好的時間段,其內容已經與「開始時間」、「結束時間」兩個文本變量進行了數據綁定,點擊它後會彈出一個手機日期時間選擇器。
使用ivx實現預約會議室模型的經驗總結
手機日期時間選擇器是拓展組件的一種,咱們能夠設定選取單個日期時間仍是,時間段模式,並限制選取日期時間的範圍,在點擊確認事件中咱們能夠收到返回的參數「開始日期」、「結束日期」,把它們分別賦值給文本變量「開始時間」、「結束時間」。
使用ivx實現預約會議室模型的經驗總結
使用ivx實現預約會議室模型的經驗總結
點擊預約按鈕後,若是各項提交內容不爲空就會調用預約會議室服務,若服務返回預約成功就在前臺的預約列表添加一剛剛提交的預定數據,若服務返回失敗就從重疊的記錄找找出對應預定人提示當前用戶已有人預定該時間段。
使用ivx實現預約會議室模型的經驗總結
使用ivx實現預約會議室模型的經驗總結
2.預定列表
前臺下方的列1用來展現歷史預定記錄,以對象數組「已預定列表」進行循環建立,在前臺初始化的時候會將數據庫中的歷史記錄輸出到「已預定列表」中。
使用ivx實現預約會議室模型的經驗總結
使用ivx實現預約會議室模型的經驗總結
總結
這個模型的關鍵是對時間段重疊的斷定,須要注意數據庫字段的類型設置,以及數據庫輸出時的條件判斷符號還有條件層級關係。另外,能夠拓展一下若是是多個會議室的狀況,這時咱們能夠在數據庫中再增長一個字段,標識會議室的序號,對應篩選是否有重疊時間段的時候也增長一個篩選條件,從序號等於當前選中的會議室的記錄中進行篩除。數組

相關文章
相關標籤/搜索