لایه business چه جوری می تونه به لایه data access بگه چه کاری بکنه
من برای این کار از کلاس data access آبجکت می گیرم و پارامترهای لازم رو به لایه پاس می کنم
اما اینجا باید چک کنم که آیا ID وارد شده در database من وجود دارد یا نه
برای این کار باید data reader رو چک کنم برای این کار چون کار چک شدن باید در لایه business logic باشه و این لایه data reader رو نمی شناسه (چون در لایه data access تعریف شده) در لایه data accessچنین کاری کردم:
class DAL
{
private bool _drz;
public bool Drz
{
get{return this._drz;}
set{this._drz = value;}
}
public void Search(string UserName, string PassWord)
{
//conection to data base codes...
dr = cmd.ExecuteReader();
_drz = dr.Read();
}
و در لایه business :
class BLL
{
public void Search(string UserName, string PassWord)
{
DAL obj_DAL = new DAL();
obj_DAL.Search(UserName, PassWord);
if (obj_DAL.Drz)
{
MessageBox.Show("valid UserName or Password", "Correct", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
MessageBox.Show("Invalid UserName or Password", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
حالا اگر آبجکت گرفتن از کلاس رو توی if بگذارم drz رو نمی شناسه و اگه بیرون باشه دستورات save کردن اطلاعات که در لایه data access نوشته شده انجام میشه!
امیدوارم گیجتون نکرده باشم و تونسته باشم مشکلم رو درست توضیح بدم.