【人参果】
技术点:
1、添加一条数据,当时并不太清楚D层代码该如何写。
【山巅远眺】
设计理念:
1、因为卡表和学生表是两张表,所以在注册的时候要先看卡和学生存不存在,不在才能注册。
2、学号和卡号要相等,同时初始密码是学号。
3、退卡的时候,两张表里的数据也要都删除,同时获得卡的余额。更新退卡表。
【披荆斩棘】
注册:
U层:
#region 注册:添加卡信息
CardInfo.CardID = Convert.ToInt32(txtCardID.Text.Trim());
CardInfo.StudentID = Convert.ToInt32(txtCardID.Text.Trim());
CardInfo.RemainingSum = Convert.ToDecimal(txtRechargeAmount.Text.Trim());
CardInfo.State = "未使用";
CardInfo.Register = FI.returnUser();//returnLevel();//这里获得的事用户名,而不是用户级别
CardInfo.IsCheck = "否";
bool flagSaveCardInfo = false;
Facade.UpDateFacade facadeSaveCardInfo = new Facade.UpDateFacade();
flagSaveCardInfo = facadeSaveCardInfo.upDateRegisterSaveCardInfo(CardInfo);
#endregion
#region 注册:添加学生信息
StudentInfo.StudentID = Convert.ToInt32(txtCardID.Text.Trim());
StudentInfo.PassWord = Convert.ToInt32(txtCardID.Text.Trim());
StudentInfo.Name = txtName.Text.Trim();
StudentInfo.Sex = cmbSex.Text.Trim();
StudentInfo.Major = txtMajor.Text.Trim();
StudentInfo.Grade = txtGrade.Text.Trim();
StudentInfo.StuClass = txtClass.Text.Trim();
bool flagSaveStudentInfo = false;
Facade.UpDateFacade facadeSaveStudentInfo = new Facade.UpDateFacade();
flagSaveStudentInfo = facadeSaveStudentInfo.upDateRegisterSaveStudentInfo(StudentInfo);
#endregion
D层:
#region 注册:添加卡信息
public bool upDateRegisterSaveCardInfo(Entity.CardInfo CardInfo)
{
bool result = false;
SqlHelper.SqlHelperAll sqlHelperUpDateRegisterSaveCardInfo = new SqlHelper.SqlHelperAll();
string sql = "Insert into Card_Info values(@CardID,@StudentID,@RemainingSum,@State,@Register,@IsCheck)";
SqlParameter[] sqlParams = { new SqlParameter("@CardID", CardInfo.CardID), new SqlParameter("@StudentID", CardInfo.StudentID), new SqlParameter("@RemainingSum", CardInfo.RemainingSum), new SqlParameter("@State", CardInfo.State), new SqlParameter("@Register", CardInfo.Register), new SqlParameter("@IsCheck", CardInfo.IsCheck) };
int res = sqlHelperUpDateRegisterSaveCardInfo.ExecuteNonQuery(sql,CommandType.Text,sqlParams);
if (res > 0)
{
result = true;
}
return result;
}
#endregion
#region 注册:添加学生信息
public bool upDateRegisterSaveStudentInfo(Entity.StudentInfo StudentInfo)
{
bool result = false;
SqlHelper.SqlHelperAll sqlHelperUpDateRegisterSaveStudentInfo = new SqlHelper.SqlHelperAll();
string sql = "Insert into Student_Info values(@StudentID,@PassWord,@Name,@Sex,@Major,@Grade,@StuClass)";
SqlParameter[] sqlParams = { new SqlParameter("@StudentID", StudentInfo.StudentID), new SqlParameter("@PassWord", StudentInfo.PassWord), new SqlParameter("@Name", StudentInfo.Name), new SqlParameter("@Sex", StudentInfo.Sex), new SqlParameter("@Major", StudentInfo.Major), new SqlParameter("@Grade", StudentInfo.Grade), new SqlParameter("@StuClass", StudentInfo.StuClass) };
int res = sqlHelperUpDateRegisterSaveStudentInfo.ExecuteNonQuery(sql, CommandType.Text, sqlParams);
if (res > 0)
{
result = true;
}
return result;
}
#endregion
退卡:
U层:
#region 获取卡的余额
List<Entity.CardInfo> list = new List<Entity.CardInfo>();
list = facadeCancleCardQueryCardInfo.registerShowCardInfo(CardInfo);
#endregion
#region 更新退卡表
Entity.CancleCardInfo CancleCardInfo = new Entity.CancleCardInfo();
CancleCardInfo.CardID = Convert.ToInt32(txtCardID.Text.Trim());
CancleCardInfo.UserName = FI.returnUser();
CancleCardInfo.CancleCardTime = DateTime.Now;
CancleCardInfo.CancleCash = list[0].RemainingSum;
Facade.AddFacade facadeInsertCancleCardInfo = new Facade.AddFacade();
facadeInsertCancleCardInfo.insertCancleCardInfo(CancleCardInfo);
#endregion
#region 删除学生表,卡表数据
Facade.DeleteFacade facadeDeleteCardInfo = new Facade.DeleteFacade();
facadeDeleteCardInfo.deleteCardInfo(CardInfo);
Facade.DeleteFacade facadeDeleteStudentInfo = new Facade.DeleteFacade();
Entity.StudentInfo StudentInfo = new Entity.StudentInfo();
StudentInfo.StudentID = CardInfo.CardID;
facadeDeleteStudentInfo.deleteStudentInfo(StudentInfo);
#endregion
#region 显示充值情况在txt中
txtInformation.Text = "退卡成功:恭喜您!" + System.Environment.NewLine +
"卡号:" + txtCardID.Text.Trim() + System.Environment.NewLine +
"管理员姓名:" + FI.returnUser() + System.Environment.NewLine +
"退卡日期:" + DateTime.Now.ToString() + System.Environment.NewLine +
"退卡金额:" + CancleCardInfo.CancleCash.ToString();
lblCancelCardCashtxt.Text = CancleCardInfo.CancleCash.ToString();
#endregion
D层:
#region 删除卡数据
public bool deleteCardInfo(Entity.CardInfo CardInfo)
{
bool flag = false;
SqlHelper.SqlHelperAll sqlHeleperDeleteCardInfo = new SqlHelper.SqlHelperAll();
string sql = "delete from Card_Info where CardID = @CardID ";
SqlParameter[] sqlParams = { new SqlParameter("@CardID", CardInfo.CardID) };
int res = sqlHeleperDeleteCardInfo.ExecuteNonQuery(sql, CommandType.Text, sqlParams);
if (res == 0)
{
flag = false;
}
else
{
flag = true;
}
return flag;
}
#endregion
#region 删除学生数据
public bool deleteStudentInfo(Entity.StudentInfo StudentInfo)
{
bool flag = false;
SqlHelper.SqlHelperAll sqlHeleperDeleteStudentInfo = new SqlHelper.SqlHelperAll();
string sql = "delete from Student_Info where StudentID = @StudentID ";
SqlParameter[] sqlParams = { new SqlParameter("@StudentID", StudentInfo.StudentID) };
int res = sqlHeleperDeleteStudentInfo.ExecuteNonQuery(sql, CommandType.Text, sqlParams);
if (res == 0)
{
flag = false;
}
else
{
flag = true;
}
return flag;
}
#endregion
【仙人指路】
太上老君:W3school
原始天尊:菜鸟教程
通天教主:小杨老师,重构的时候每天回去看小杨老师的C#视频,之前很多都不懂,现在都懂了。很有感觉!
【筋斗云】