前言
机房重构进行了大半年了,今天上午进行了第二次验收。终于验收合格了,
虽然重构时间有点长,但是学到的知识点比较多也比较扎实。
-------稳扎稳打
问题:
1,收费的时间转换问题
因为收费是按照小时收费的,但是默认获取到的时间差是日期
类型的。所以需要转换成整形,也就是单价*时间(int)
2 ,表格控件禁止输入
3,管理员不能自己删除自己
问题解决方案:
1,收费时间转换问题
其实需要间接转换成int类型
格式:日期类型→分钟→小时
代码:
//获取上机几小时
string hour = TimeSolt.Substring(0,2);
//获取上机几分钟
string min = TimeSolt.Substring(3,2);
//合并小时和时间,获取总的上机分钟数。
int Mint =(int.Parse(hour)*60)+int.Parse(min);
//实时收费(把获取到的分钟转换成小时)
money = moneyRebate * (Mint / 60.0);
moneyRebate:单价(收费标准)
(Mint / 60.0):上机时长
收费公式=单价*上机时长
2,表格控件禁止输入
这个比较简单直接在表格控件上修改其属性就可以了,不需要改代码。
就是把我画红线的这三个复选框里的对勾去掉就可以了
3,管理员不能自己删除自己
其实是实现这个功能,需要一个全局ID来辅助完成。全局ID就是在账号登录成功的时候,会把当前账号的ID赋值给全局ID。(全局ID使用静态变量声明在实体里)。方便使用这个ID去查询,当前账号的其他信息,不需要再次输入ID。
代码:
实体:
/// <summary>
/// 全局变量
/// </summary>
private static int useridall;
/// <summary>
/// 全局变量
/// </summary>
public static int UserIdall
{
get { return useridall; }
set { useridall = value; }
}
删除用户:
//判断是否是当前登录的管理员
if (UserID==UserLevel.UserIdall.ToString())
{
strMsger = "当前使用账号不可以被删除!";
}else{
具体的删除代码
}
总结
经历了两次机房收费系统的开发,也从中学习到了。工程化的重要性,以及开发文档的使用。与书写,开发文档同样也非常重要。