机房重构之修改

版权声明:我的四年啊! https://blog.csdn.net/sunshisiqi/article/details/82953931

在修改密码时,我不懂的是,修改后的密码如何通过传值最后保存在数据库中的。
首先UI层要接受Facade层的值。

Entity.EntityLogin user = new Entity.EntityLogin();
user.PassWord = textBox1.Text.ToString();
user.newPWD1 = textBox2.Text;
user.newPWD2 = textBox3.Text;
user.UserID = frmLogin.userid;
Facade.ModifyPWDFacade modifyPWDFacade = new Facade.ModifyPWDFacade();
bool flag = modifyPWDFacade.checkPWD(user);

Facade层要通过BLL层传来的数据,通过IDAL层解耦。

public bool checkPWD(Entity.EntityLogin PassWord)
{
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.checkPWD(PassWord);
return list; 
}
public bool updatePWD(Entity.EntityLogin PassWord)
{
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.updatePWD(PassWord);
return list;
}

DAL层是与数据库打交道的。

SQLHelper SQLHelper = new SQLHelper();
SqlParameter[] ps = { new SqlParameter("@userid", password.UserID) };
string sql = "select * from [T-User] where UserID =@userid";
DataTable list = SQLHelper.ExecuteQuery (sql,ps,CommandType.Text);
return list;
BLL.ModifyPWDBLL modifyPWDBLL = new BLL.ModifyPWDBLL();
bool list = modifyPWDBLL.updatePWD(PassWord);
return list;

Factory层是工厂层,通过反射工厂来传值。

public IDAL.IDALModifyPWD checkPWD( )
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
string name = StrDB + "." + "checkPWD";
IDAL.IDALModifyPWD idalModifyPWD = (IDAL.IDALModifyPWD)Assembly.Load("DAL").CreateInstance(name);
return idalModifyPWD;
}
public IDAL.IDALModifyPWD updatePWD( )
{
string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];
string name = StrDB + "." + "updatePWD";
IDAL.IDALModifyPWD dALModifyPWD = (IDAL.IDALModifyPWD)Assembly.Load("DAL").CreateInstance(name);
return dALModifyPWD;
}

最后是IDAL层,这里是定义接口的。

public interface IDALModifyPWD
{
    bool checkPWD(Entity.EntityLogin password;)
    bool updatePWD(Entity.EntityLogin password;)
 }

猜你喜欢

转载自blog.csdn.net/sunshisiqi/article/details/82953931