【重构】C#——上下机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sophia_0331/article/details/82562371

前言

记得第一次做机房收费系统的时候,做上下机这块思路就不是很清楚,马马虎虎就过去了,果不其然,欠下的迟早是要还的,不过这个过程是我做机房收获最多的。

做机房重要的还是思路,思路捋清了,代码按照思路一步一步实现功能就简单多了,在上下机这个过程中深有体会,接下来分享一下我的思路。

内容

上机模块

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表中的余额

总结

在这个过程中通过同桌的指点意识到自己代码冗余度很大,发现了问题所在,思路不清晰走了很多弯路,希望接下来的同学不要走我走过的弯路。

猜你喜欢

转载自blog.csdn.net/Sophia_0331/article/details/82562371
今日推荐