【机房重构】-退卡

退卡其实很简单,实体层不再过多的介绍,有个快捷键ctrl+R+E

IDAL层

namespace IDAL
{
    public interface CancelCardIDAL
    {
        DataTable InquiryCardInfo(Entity.Card_Info CardInfo);

        int InsertCancelInfo(Entity.Cancel_Info CancelCardInfo);

        int DeleteStudentInfo(Entity.Student_Info StudentInfo);

        int DeleteCardInfo(Entity.Card_Info CardInfo);

        int DeleteUserInfo(Entity.User_Info UserInfo);
    }
}

DAL层

namespace DAL
{
    public class CancelCardDAL : IDAL.CancelCardIDAL
    {
        public DataTable InquiryCardInfo(Entity.Card_Info CardInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@CardNo",CardInfo.CardNo)};
            string sql = @"select * FROM Card_Info WHERE CardNo=@CardNo";
            DataTable InquiryCard = sqlHelper.ExecuteQuery(sql, sqlParams, CommandType.Text);
            return InquiryCard;
        }
        public int InsertCancelInfo(Entity.Cancel_Info CancelInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@CardNo",CancelInfo.CardNo),
                                       new SqlParameter("@CancelCash",CancelInfo.CancelCash),
                                       new SqlParameter("@CancelDate",CancelInfo.CancelDate),
                                       new SqlParameter("@UserID",CancelInfo.UserId),
                                       new SqlParameter("@Computer",CancelInfo.Computer)};
            string sql = @"insert into Cancel_Info(CardNo,CancelCash,CancelDate,UserID,Computer) values(@CardNo,@CancelCash,@CancelDate,@UserID,@Computer)";
            int InsertCancel = sqlHelper.ExecuteNonQuery(sql,sqlParams,CommandType.Text);
            return InsertCancel;
        }
        public int DeleteStudentInfo(Entity.Student_Info StudentInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@CardNo",StudentInfo.Cardno)};
            string sql = "delete from Student_Info where CardNo=@CardNo";
            int DeleteStudent = sqlHelper.ExecuteNonQuery(sql,sqlParams,CommandType.Text);
            return DeleteStudent;
        }
        public int DeleteCardInfo(Entity.Card_Info CardInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@CardNo",CardInfo.CardNo)};
            string sql = "delete from Card_Info where CardNo = @CardNo";
            int DeleteCard = sqlHelper.ExecuteNonQuery(sql, sqlParams, CommandType.Text);
            return DeleteCard;
        }
        public int DeleteUserInfo(Entity.User_Info UserInfo)
        {
            SQLHelper sqlHelper = new SQLHelper();
            SqlParameter[] sqlParams = { new SqlParameter("@UserID",UserInfo.UserID)};
            string sql = "delete from User_Info where UserID=@UserID";
            int DeleteUser = sqlHelper.ExecuteNonQuery(sql, sqlParams, CommandType.Text);
            return DeleteUser;
        }
    }
}

Factory层

namespace Factory
{
    public class CancelCardFactory
    {
        string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
        public IDAL.CancelCardIDAL CancelCardInfo()
        {
            string ClassName = StrDB + "." + "CancelCardDAL";
            return (IDAL.CancelCardIDAL)Assembly.Load(StrDB).CreateInstance(ClassName);
        }
    }
}

BLL层

namespace BLL
{
    public class CancelCardBLL
    {
        Factory.CancelCardFactory fact = new Factory.CancelCardFactory();
        public bool InquiryCardInfo(Entity.Card_Info CardInfo)
        {
            IDAL.CancelCardIDAL Idal = fact.CancelCardInfo();
            DataTable table = Idal.InquiryCardInfo(CardInfo);
            bool flag;
            if (table.Rows.Count == 0)
            {
                flag = false;
            }
            else
            {
                flag = true;
            }
            return flag;
        }
        public int InsertCancelInfo(Entity.Cancel_Info CancelInfo)
        {
            IDAL.CancelCardIDAL Idal = fact.CancelCardInfo();
            int table = Idal.InsertCancelInfo(CancelInfo);
            return table;
        }
        public int DeleteStudentInfo(Entity.Student_Info StudentInfo)
        {
            IDAL.CancelCardIDAL Idal = fact.CancelCardInfo();
            int table = Idal.DeleteStudentInfo(StudentInfo);
            return table;
        }
        public int DeleteCardInfo(Entity.Card_Info CardInfo)
        {
            IDAL.CancelCardIDAL Idal = fact.CancelCardInfo();
            int table = Idal.DeleteCardInfo(CardInfo);
            return table;
        }
        public int DeleteUserInfo(Entity.User_Info UserInfo)
        {
            IDAL.CancelCardIDAL Idal = fact.CancelCardInfo();
            int table = Idal.DeleteUserInfo(UserInfo);
            return table;
        }
    }
}

Facade层

namespace Facade
{
    public class CancelCardFacade
    {
        public Boolean InquiryCardInfo(Entity.Card_Info CardInfo)
        {
            bool flag;
            BLL.CancelCardBLL InquiryCardInfoBLL = new BLL.CancelCardBLL();
            flag = InquiryCardInfoBLL.InquiryCardInfo(CardInfo);
            return flag;
        }
        public int InsertCancelInfo(Entity.Cancel_Info CancelInfo)
        {
            BLL.CancelCardBLL InsertCancelInfoBLL = new BLL.CancelCardBLL();
            int Cancel = InsertCancelInfoBLL.InsertCancelInfo(CancelInfo);
            return Cancel;
        }
        public int DeleteStudentInfo(Entity.Student_Info StudentInfo)
        {
            BLL.CancelCardBLL DeleteStudentInfoBLL = new BLL.CancelCardBLL();
            int Student = DeleteStudentInfoBLL.DeleteStudentInfo(StudentInfo);
            return Student;
        }
        public int DeleteCardInfo(Entity.Card_Info CardInfo)
        {
            BLL.CancelCardBLL DeleteCardInfoBLL = new BLL.CancelCardBLL();
            int Card = DeleteCardInfoBLL.DeleteCardInfo(CardInfo);
            return Card;
        }


        public int DeleteUserInfo(Entity.User_Info UserInfo)
        {
            BLL.CancelCardBLL DeleteUserInfoBLL = new BLL.CancelCardBLL();
            int User = DeleteUserInfoBLL.DeleteUserInfo(UserInfo);
            return User;
        }
    }
}

UI层

namespace UI
{
    public partial class CancelCard : Form
    {
        public CancelCard()
        {
            InitializeComponent();
        }
        private void CancelCard_Load(object sender, EventArgs e)
        {

        }
        private void ButCancel_Click(object sender, EventArgs e)
        {
            if (TxtCardNo.Text.Trim() == "")
            {
                MessageBox.Show("卡号不能为空", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            Login login = new Login();
            Facade.CancelCardFacade faca = new Facade.CancelCardFacade();
            
            //更新Cancel_Info
            Entity.Cancel_Info CancelInfo = new Entity.Cancel_Info();
            Entity.Card_Info CardInfo = new Entity.Card_Info();

            CancelInfo.CardNo = TxtCardNo.Text.Trim();
            CancelInfo.CancelCash = Convert.ToString(CardInfo.Balance);
            CancelInfo.CancelDate = DateTime.Now;
            CancelInfo.UserId = Login.UserID;
            CancelInfo.Computer = System.Environment.MachineName;

            Facade.CancelCardFacade facadeCancelInfo = new Facade.CancelCardFacade();
            int intCancelInfo = facadeCancelInfo.InsertCancelInfo(CancelInfo);

            //删除Student_Info中相关记录

            Entity.Student_Info StudentInfo = new Entity.Student_Info();

            StudentInfo.Cardno = TxtCardNo.Text.Trim();

            Facade.CancelCardFacade facadeStudentInfo = new Facade.CancelCardFacade();
            int intStudentInfo = facadeStudentInfo.DeleteStudentInfo(StudentInfo);

            //删除Card_Info 中相关记录
            //Entity.Card_Info CardInfo = new Entity.Card_Info();
            CardInfo.CardNo = TxtCardNo.Text.Trim();

            Facade.CancelCardFacade facadeCardInfo = new Facade.CancelCardFacade();
            int intCardInfo = facadeCardInfo.DeleteCardInfo(CardInfo);

            //删除User_Info中的相关记录
            Entity.User_Info UserInfo = new Entity.User_Info();

            UserInfo.UserID = TxtCardNo.Text.Trim();
            Facade.CancelCardFacade facadeUserInfo = new Facade.CancelCardFacade();
            int intUserInfo = facadeUserInfo.DeleteUserInfo(UserInfo);

            //判断是否退卡成功
            Boolean flag = false;
            Facade.CancelCardFacade CancelFacade = new Facade.CancelCardFacade();
            flag = faca.InquiryCardInfo(CardInfo);
            if (flag != false)
            {
                MessageBox.Show("退卡失败");
            }
            else
            {
                LabShow.Text = "退卡卡号:" + TxtCardNo.Text + System.Environment.NewLine
                               + "退卡金额:" + CancelInfo.CancelCash + System.Environment.NewLine
                               + "退卡日期:" + DateTime.Now + System.Environment.NewLine
                               + "操作教师:" + Login.UserID + System.Environment.NewLine
                               + "操作机器:" + System.Environment.MachineName + System.Environment.NewLine;
                MessageBox.Show("退卡成功");
                TxtCardNo.Text = "";
            }

        }
    }
}

小小心得:涉及很多表,一定要仔细,尤其大小写和Factory层,命名也很重要,最好复制一下,减少出错。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值