机房重构之充值和显示金额

简介: 机房重构之充值和显示金额

UI层

namespace UI
{
    public partial class Recharge : Form
    {
        public Recharge()
        {
            InitializeComponent();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Entity.RechargeInfo rechargeInfo = new Entity.RechargeInfo();//实例化充值层
            Facade.RechargeFacade faca = new Facade.RechargeFacade();//实例化外观层
                                                                     //定义需要插入到充值表当中的数据
            rechargeInfo.CardNo = CardNo.Text.Trim();
            rechargeInfo.addmoney = AddMoney.Text.Trim();
            rechargeInfo.state = "未结账";
            rechargeInfo.date = DateTime.Now.ToShortDateString();
            rechargeInfo.time = DateTime.Now.ToShortTimeString();
            rechargeInfo.UserID =LoginUser.UserID;
            Entity.StudentInfo student = new Entity.StudentInfo();//实例化学生
                                                            // Facade.StudentFacade facade = new Facade.StudentFacade(); //实例化学生外观
            student.CardNo = CardNo.Text.Trim();
            student.state = "使用";
            Facade.RechargeFacade Facade = new Facade.RechargeFacade();//实例化学生外观
            Entity.StudentInfo StudentInfo = new Entity.StudentInfo();
            StudentInfo.CardNo = CardNo.Text.Trim();
            DataTable dtCard = Facade.InquiryCardInfo(StudentInfo);
            if (dtCard.Rows.Count != 0) {
                rechargeInfo.studentNo = dtCard.Rows[0][1].ToString();
            }
            if (dtCard.Rows.Count == 0)
            {
                MessageBox.Show("卡号不存在", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            bool rechargecard = faca.addrecharge(rechargeInfo);//调用插入充值记录方法
            if (rechargecard)
            {
                StudentInfo.CardNo = CardNo.Text.Trim();
                StudentInfo.cash = AddMoney.Text.Trim();
                int balanceNow = Convert.ToInt32(dtCard.Rows[0][6]) + Convert.ToInt32(AddMoney.Text.Trim());
                StudentInfo.cash = Convert.ToString(balanceNow);
                int dt1 = Facade.updateStudentCash(StudentInfo);
                MessageBox.Show("充值成功");
                label1.Text = Convert.ToString(balanceNow);
            }
            else
            {
                MessageBox.Show("充值失败");
                return;
            }
        }
    }
}

D层

namespace DAL
{
    public class RechargeDAL : IDAL.RechargeIDAL
    {
        public int addrechargeInfo(RechargeInfo reCharge)
        {
            SQLHelper sqlHelper = new SQLHelper();  //实例化SQLhelper
            string sql = "INSERT INTO ReCharge(cardno,studentNo,addmoney,date,time,UserID,state)VALUES(@cardNo,@studentNo,@addmoney,@date,@time,@UserID,@state)"; //插入语句
            SqlParameter[] sqlParams = new SqlParameter[]    //添加信息,赋值
            {
                new SqlParameter ("@studentNo",reCharge.studentNo),
                new SqlParameter ("@cardNo",reCharge.CardNo),
                new SqlParameter ("@addmoney",reCharge.addmoney),
                new SqlParameter ("@date",reCharge.date),
                new SqlParameter ("@time",reCharge.time),
                new SqlParameter ("@UserID",reCharge.UserID),
                new SqlParameter ("@state",reCharge.state),
            };
            int result = sqlHelper.ExecuteNonQuery(sql, sqlParams, CommandType.Text);      //插入
            return result;
        }
        public int updateStudentCash(Entity.StudentInfo StudentInfo)//更新学生余额
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@CardNo", StudentInfo.CardNo),
                                         new SqlParameter ("@cash",StudentInfo.cash )};
            string sql = @"UPDATE [Student] SET cash=@cash WHERE cardNo=@cardNo";
            int StudentCash = sqlHelper.ExecuteNonQuery(sql, sqlParams, CommandType.Text);
            return StudentCash;
        }
        public DataTable InquiryCardInfo(Entity.StudentInfo StudentInfo)
        {
            SQLHelper sqlhelper = new SQLHelper();
            SqlParameter[] sqlParams ={
                      new SqlParameter("@CardNo",StudentInfo.CardNo)
                       };
            string sql = "select* from Student where CardNo=@CardNo";
            DataTable dt = sqlhelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
            //int i = dt.Rows.Count;
            return dt;
        }
    }
}


相关文章
|
算法 Java PHP
算法思考:红包金额生成
最近在整理过去的项目时,回顾了某年红包活动的项目,其中涉及红包金额计算的算法。近些年各家大厂举办的春节红包活动越来越完善,关于活动背后的整体设计介绍、分析、探讨层出不穷。本篇先不关注整体架构,选择红包金额的计算方法作为分析内容。 在当时的项目中,红包金额计算主要是采用了基于一些入参的随机数生成,并且生成的是单个红包金额,并未使用队列方式做预生成。所以再次回顾这个案例,其中其实还有很多可以玩味和深入思考的地方,在这里做一次思考总结。
126 0
云大使绑定提现账号,兑换云气值操作攻略
活动优化:为了便于大使快速完成提现绑定,后续提现工作。云大使业务进行了活动优化现将云大使绑定淘宝账户提现至淘宝所对应的支付宝账户更改为直接绑定支付宝账户提现至对应支付宝,本期主要讲解电脑端和手机端两个版本绑定提现账号,兑换云气值的操作攻略 具体操作步骤如下
|
C语言 数据安全/隐私保护
用C语言写一个商品购物收银台系统,统计购买商品总价
要制作一个“系统”,就得先把一个个小功能逐一实现,然后将其整合,我们用C语言只需把它们写成一个个函数即可,直接进入正题,我们列出今天所需的头文件,一共五个。
|
机器学习/深度学习
某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每
某销售公司在年末的时候会向员工发放红包,发放的红包金额共有5种,获取的条件各不相同:   1) 五颗星红包,每人8000元,平均月绩效大于80件商品(>80),并且在本年度满勤; 2) 四颗星红包,每
231 0
|
JavaScript 前端开发
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
460 0
使用 JavaScript 根据消费金额和消费者是否为会员确定折扣,最终核算实际应该支付的金额
SAP MM 并非奇怪现象之MB5B报表里期初库存余额或者期末库存余额为负数?
SAP MM 并非奇怪现象之MB5B报表里期初库存余额或者期末库存余额为负数?
SAP MM 并非奇怪现象之MB5B报表里期初库存余额或者期末库存余额为负数?
来抽奖啦,仅限收钱码商家
各位小虎斑们,今年双12,网商银行联合支付宝为收钱码商家送福利啦! 参加”码商狂欢节”,幸运抽奖、帮你筑梦! 重点来了,看这里:  “码商狂欢节”是个啥?   “码商狂欢节”是为网商银行为收钱码商家推出的专享活动。
609 12
全场优惠券的核销条件
说明 在开发过程中,通过商家后台或者营销活动接口创建的全场优惠券在支付没有自动核销。 商家后台:[url]https://e.alipay.com/main.htm?refresh=1555999213657#/?_k=etysgp[/url] 营销活动:[url]https://docs.
524 12
控制会员可兑换金额
控制会员可兑换金额
1342 0