記得第一次做機房收費系統的時候,做上下機這塊思路就不是很清楚,馬馬虎虎就過去了,果不其然,欠下的遲早是要還的,不過這個過程是我做機房收穫最多的。
做機房重要的還是思路,思路捋清了,**按照思路一步一步實現功能就簡單多了,在上下機這個過程中深有體會,接下來分享一下我的思路。
1、判斷輸入卡號是否為空
2、判斷卡號是否註冊(student表)
3、判斷卡號是否正在上機(online表)
4、判斷餘額(student表)是否大於最小上機金額(basic表)
5、對涉及到的相應的表進行操作:
插入資訊到online表;
同時獲取當前日期和時間的方法:
txtoffdate.text = datetime.now.tolongdatestring().tostring();//獲取當前日期
txtofftime.text = datetime.now.tolongtimestring().tostring();//獲取當前時間
1、判斷輸入卡號是否為空
2、判斷輸入的卡號是否已經註冊
3、判斷當前卡號是否已經下機
4、從online表中獲取當前卡號資訊儲存在u層
5、計算消費時間
消費時間=下機時間(當前日期時間)-上機時間(online表)
將下機時間-上機時間得到的結果轉化為分鐘的方法:
eg:
timespan ts = convert.todatetime("2016 - 12 - 13 17:09:47.223") - convert.todatetime("2016 - 12 - 13 13:36:10.023");
int spend_time = convert.toint32(ts.totalminutes);
6、計算消費金額
消費金額=消費時間*元/分鐘(basic表)
7、餘額=原餘額(student表)-消費金額
8、更新對應的**:
向line表中插入資訊;刪除online表中資訊;更新student表中的餘額
在這個過程中通過同桌的指點意識到自己**冗餘度很大,發現了問題所在,思路不清晰走了很多彎路,希望接下來的同學不要走我走過的彎路。
C 機房重構 上下機 動態計費
前言 經歷了之前計費收費系統中動態計費這個難點與前幾天的c 版機房重構的小試牛刀,自己信心滿滿地開始了重構版機房的動態計費以及核心內容的完成 上下機。話不多說,我們開始吧。流程圖 關鍵點 1.在dal層對使用者的狀態進行改變,ui層時鐘開始計時,從而上機 2.計時期間定期將餘額更新至資料庫,並判斷學...
機房重構 上下機(職責鏈模式和策略模式)
機房重構中上機功能相對好實現一些,下機用到了職責鏈模式和策略模式,職責鏈模式算時間,策略模式算消費金額 部分 dal層 public class offdal ioffidal string sql select from card where cardno cardno datatable tab...
C 機房重構 下機(職責鏈模式)
職責鏈模式 職責鏈 當客戶提交乙個請求時,請求是沿著鏈傳遞,直至有乙個concretehandler物件負責處理,接收者和傳送者都滅有對方的明確資訊,且鏈中的物件自己也並不知道鏈的結構,僅需保持乙個指向其後繼者的引用。具體實現 在機房重構中職責鏈主要用於確定學生的消費時間,以下為具體的實現 抽象類p...