版权声明:本文为博主原创文章,未经博主允许不得转载。 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表中的余额
总结
在这个过程中通过同桌的指点意识到自己代码冗余度很大,发现了问题所在,思路不清晰走了很多弯路,希望接下来的同学不要走我走过的弯路。