C#三层ATM-8.存款、取款功能设计
2016-06-06 13:39
357 查看
存款取款功能
1.DAL--transInfo增加add方法--增加交易记录
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(Model.transInfo model)
{
StringBuilder strSql=new StringBuilder();
StringBuilder strSql1=new StringBuilder();
StringBuilder strSql2=new StringBuilder();
if (model.transDate != null)
{
strSql1.Append("transDate,");
strSql2.Append("'"+model.transDate+"',");
}
if (model.cardID != null)
{
strSql1.Append("cardID,");
strSql2.Append("'"+model.cardID+"',");
}
if (model.transType != null)
{
strSql1.Append("transType,");
strSql2.Append("'"+model.transType+"',");
}
if (model.transMoney != null)
{
strSql1.Append("transMoney,");
strSql2.Append(""+model.transMoney+",");
}
if (model.remark != null)
{
strSql1.Append("remark,");
strSql2.Append("'"+model.remark+"',");
}
strSql.Append("insert into transInfo(");
strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1));
strSql.Append(")");
strSql.Append(" values (");
strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1));
strSql.Append(")");
int rows=DbHelperSQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
2.DAL--cardinfo增加UpdateBalance方法--更新账户余额
public bool UpdateBalance(string CardID, decimal MoneyNum,string remark)
{
//增加交易记录
Model.transInfo t = new Model.transInfo();
t.cardID = CardID;
t.transDate = DateTime.Now;
t.transMoney = Math.Abs(MoneyNum);
t.transType = "存入";
t.remark = remark;
string sql = "update cardinfo set balance=balance+" + MoneyNum + " where cardID='" + CardID + "' and IsReportLoss=0";
if (MoneyNum < 0)
{
//先判断余额是否足
Model.cardinfo c = GetModel(CardID);
if (c != null)
{
if(c.balance<Math.Abs( MoneyNum))
{ return false; }
}
else
{
return false;
}
t.transType = "支取";
}
if (DbHelperSQL.ExecuteSql(sql) >= 1)//存取款成功 则增加交易记录
{
DAL.transInfo dalt = new DAL.transInfo();
dalt.Add(t);
return true;
}
return false;
}
3.BLL--cardinfo增加UpdateBalance方法
/// <summary>
/// 存取款
/// <param name = "CardID" ></ param >
/// < param name="MoneyNum">负数为取款</param>
/// <returns></returns>
/// </summary>
public bool UpdateBalance(string CardID, decimal MoneyNum,string remark)
{
return dal.UpdateBalance(CardID, MoneyNum,remark);
}
4.WinF--getMoney窗体
1)为窗体类增加卡号字段
2)编写取款按钮单击方法
代码如下:
5.WinF--SetMoney窗体
1)为窗体类增加卡号字段
2)编写存款按钮单击方法
代码如下:
6.WinF--main窗体---编写存款、取款菜单项代码
1.DAL--transInfo增加add方法--增加交易记录
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(Model.transInfo model)
{
StringBuilder strSql=new StringBuilder();
StringBuilder strSql1=new StringBuilder();
StringBuilder strSql2=new StringBuilder();
if (model.transDate != null)
{
strSql1.Append("transDate,");
strSql2.Append("'"+model.transDate+"',");
}
if (model.cardID != null)
{
strSql1.Append("cardID,");
strSql2.Append("'"+model.cardID+"',");
}
if (model.transType != null)
{
strSql1.Append("transType,");
strSql2.Append("'"+model.transType+"',");
}
if (model.transMoney != null)
{
strSql1.Append("transMoney,");
strSql2.Append(""+model.transMoney+",");
}
if (model.remark != null)
{
strSql1.Append("remark,");
strSql2.Append("'"+model.remark+"',");
}
strSql.Append("insert into transInfo(");
strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1));
strSql.Append(")");
strSql.Append(" values (");
strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1));
strSql.Append(")");
int rows=DbHelperSQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
2.DAL--cardinfo增加UpdateBalance方法--更新账户余额
public bool UpdateBalance(string CardID, decimal MoneyNum,string remark)
{
//增加交易记录
Model.transInfo t = new Model.transInfo();
t.cardID = CardID;
t.transDate = DateTime.Now;
t.transMoney = Math.Abs(MoneyNum);
t.transType = "存入";
t.remark = remark;
string sql = "update cardinfo set balance=balance+" + MoneyNum + " where cardID='" + CardID + "' and IsReportLoss=0";
if (MoneyNum < 0)
{
//先判断余额是否足
Model.cardinfo c = GetModel(CardID);
if (c != null)
{
if(c.balance<Math.Abs( MoneyNum))
{ return false; }
}
else
{
return false;
}
t.transType = "支取";
}
if (DbHelperSQL.ExecuteSql(sql) >= 1)//存取款成功 则增加交易记录
{
DAL.transInfo dalt = new DAL.transInfo();
dalt.Add(t);
return true;
}
return false;
}
3.BLL--cardinfo增加UpdateBalance方法
/// <summary>
/// 存取款
/// <param name = "CardID" ></ param >
/// < param name="MoneyNum">负数为取款</param>
/// <returns></returns>
/// </summary>
public bool UpdateBalance(string CardID, decimal MoneyNum,string remark)
{
return dal.UpdateBalance(CardID, MoneyNum,remark);
}
4.WinF--getMoney窗体
1)为窗体类增加卡号字段
2)编写取款按钮单击方法
代码如下:
5.WinF--SetMoney窗体
1)为窗体类增加卡号字段
2)编写存款按钮单击方法
代码如下:
6.WinF--main窗体---编写存款、取款菜单项代码
相关文章推荐
- C#三层ATM-7.挂失
- C#三层ATM-6.查询账户基本信息
- C#三层ATM-5.登陆功能设计
- C#三层ATM-4.ATM界面设计
- C#三层ATM-2.编写Model项目实体类
- C#三层ATM-1.搭建三层ATM项目框架
- C#三层ATM-0.数据表设计
- C#基础--继承
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)5-----Assembly.Unload
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)3---- 动态加载Assembly应用程序
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)1----C#中动态加载和卸载DLL
- C#转换全角半角方法示例
- C#中List〈string〉和string[]数组之间的相互转换
- C# Stream 和 byte[] 之间的转换
- C#实现把科学计数法(E)转化为正常数字值 (转)
- C#之 String.Format对字符串格式化
- C# Process.Start()方法详解 .
- C#多线程同步事件及等待句柄 .
- C#多线程中WaitOne函数的?