نوشته شده توسط
محمد آشتیانی
سلام
وقتی یک کلاس قراره یک اینترفیس رو پیاده سازی کنه ، باید همه ی متدها رو پیاده سازی کنه.
شما کد کامل اینترفیستون رو اینجا قرار بدید لطفا
سلام به شما
خب قضیه همون کدیه که خودتون زحمت کشیدین توضیح دادین گفتین اگه
اگر هم قطعا هیچ کدوم از متد های کلاس abstract شما ، پیاده سازی ندارند ، میتونید بجاش از interface استفاده کنید ، به اینصورت
1
2
3
4
5 |
public interface IControlable
{
void ControlInfo();
} |
در واقع سه تا کلاس نوشتم
یکی توضیحات
یکی یوزر
یکی هم همین void ControlInfo()
حالا دو تا کلاسم هم کدهاش به صورت زیره ملاحظه کنین
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace final_doctor
{
class User_Exceptions :ApplicationException
{
//================================================== ===
// class User_Exceptions : ApplicationException
//{
//----------------------------------------------
public User_Exceptions(String Message)
: base("خطا در اطلاعات کاربران" + Message)
{
}
}
//================================================== ===
class User_Exceptions_UserName : ApplicationException
{
//----------------------------------------------
public User_Exceptions_UserName()
: base("نام کاربری وارد شده، معتبر نیست")
{
}
}
//================================================== ===
class User_Exceptions_Password : ApplicationException
{
//----------------------------------------------
public User_Exceptions_Password()
: base("رمز عبور وارد شده، معتبر نیست")
{
}
}
//================================================== ===
class User_Exceptions_NoManageUserRemine : ApplicationException
{
//----------------------------------------------
public User_Exceptions_NoManageUserRemine()
: base("هیچ کاربری برای مدیریت دیگر کاربران وجود ندارد")
{
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace final_doctor
{
public class User : IControlable
{
public Boolean Access_sabt = true, Access_gozaresh = true, Access_backup = true, Access_Users = true, Access_jostejo = true, Access_edit = true, Access_delete = true, Access_savabegh = true;
private string _userName = "";
public string UserName
{
get { return _userName ; }
set
{
if (value == "")
throw new User_Exceptions_UserName();
else
_userName = value;
}
}
//--------------------------------------------------------------
private string _password = "";
public string Password
{
get { return _password; }
set
{
if (value.Length < 6)
throw new User_Exceptions_Password();
else
_password = value;
}
}
//--------------------------------------------------------------
public void ControlInfo()
{
if (_userName == "")
throw new User_Exceptions_UserName();
if (_password.Length < 6)
throw new User_Exceptions_Password();
}
//--------------------------------------------------------------
public Boolean IsCorrectUser()
{
ControlInfo();
Condition Cond = new Condition(2);
Cond.AddCondition("UserName", Operatotrs.مساوی, _userName, Concat_Type.And);
Cond.AddCondition("Pass", Operatotrs.مساوی, _password, Concat_Type.None);
DataTable DT = new DataTable();
DT = DataBase_SQL.Action(DBOperation.Select, Cond, "Users", "UserName");
if (DT.Rows.Count > 0)
{
_userName = DT.Rows[0][0].ToString();
return true;
}
else
return false;
}
//--------------------------------------------------------------
public void ShowUsers(System.Windows.Forms.ComboBox CMB)
{
CMB.DataSource = DataBase_SQL.Action(DBOperation.Select, null, "Users", "UserName", "UserName");
CMB.DisplayMember = "UserName";
CMB.ValueMember = "UserName";
}
//--------------------------------------------------------------
public Boolean IsDuplicate()
{
Condition Cond = new Condition(1);
DataTable DT = new DataTable();
Cond.AddCondition("UserName", Operatotrs.مساوی, _userName, Concat_Type.None);
DT = DataBase_SQL.Action(DBOperation.Select, Cond, "Users", "UserName");
if (DT.Rows.Count > 0) return true; else return false;
}
//--------------------------------------------------------------
public void CreateUser()
{
ControlInfo();
DataBase_SQL.Action(DBOperation.Insert, null, "Users", "UserName,Pass,Access_sabt, Access_gozaresh, Access_backup, Access_jostejo, Access_edit, Access_Users,Access_delete,Access_savabegh", _userName, _password, Access_sabt, Access_gozaresh, Access_backup, Access_jostejo, Access_edit, Access_Users, Access_delete, Access_savabegh);
}
//--------------------------------------------------------------
public void ShowInfo(String UserName)
{
Condition Cond = new Condition(1);
DataTable DT = new DataTable();
Cond.AddCondition("UserName", Operatotrs.مساوی, UserName, Concat_Type.None);
DT = DataBase_SQL.Action(DBOperation.Select, Cond, "Users", "UserName,Pass");
_userName = DT.Rows[0]["UserName"].ToString();
_password = DT.Rows[0]["Pass"].ToString();
}
//--------------------------------------------------------------
public void ChangeUserInfo(String UserName)
{
if (Access_Users == false)
{
DataTable DT = new DataTable();
DT = DataBase_SQL.Bank_Select("Select UserName From Users Where UserName<>'" + UserName + "' And Access_Users=1");
if (DT.Rows.Count == 0) throw new User_Exceptions_NoManageUserRemine();
}
Condition Cond = new Condition(1);
Cond.AddCondition("UserName", Operatotrs.مساوی, UserName, Concat_Type.None);
DataBase_SQL.Action(DBOperation.Update, Cond, "Users", "UserName,Pass,Access_sabt, Access_gozaresh, Access_backup, Access_jostejo, Access_edit, Access_Users,Access_delete,Access_savabegh", _userName, _password, Access_sabt, Access_gozaresh, Access_backup, Access_jostejo, Access_edit, Access_Users, Access_delete, Access_savabegh);
}
//--------------------------------------------------------------
public void DeleteUser()
{
DataTable DT = new DataTable();
DT = DataBase_SQL.Bank_Select("Select UserName From Users Where UserName<>'" + _userName + "' And Access_Users=1");
if (DT.Rows.Count == 0) throw new User_Exceptions_NoManageUserRemine();
Condition Cond = new Condition(1);
Cond.AddCondition("UserName", Operatotrs.مساوی, _userName);
DataBase_SQL.Action(DBOperation.Delete, Cond, "Users", "");
}
//--------------------------------------------------------------
public void LoadAccess(String UserName)
{
DataTable DT = new DataTable();
Condition Cond = new Condition(1);
Cond.AddCondition("UserName", Operatotrs.مساوی, UserName);
DT = DataBase_SQL.Action(DBOperation.Select, Cond, "Users", "UserName,Pass,Access_sabt, Access_gozaresh, Access_backup, Access_jostejo, Access_edit, Access_Users,Access_delete,Access_savabegh");
Access_sabt = Convert.ToBoolean(DT.Rows[0]["Access_sabt"]);
Access_gozaresh = Convert.ToBoolean(DT.Rows[0]["Access_gozaresh"]);
Access_backup = Convert.ToBoolean(DT.Rows[0]["Access_backup"]);
Access_jostejo = Convert.ToBoolean(DT.Rows[0]["Access_jostejo"]);
Access_edit = Convert.ToBoolean(DT.Rows[0]["Access_edit"]);
Access_Users = Convert.ToBoolean(DT.Rows[0]["Access_Users"]);
Access_delete = Convert.ToBoolean(DT.Rows[0]["Access_delete"]);
Access_savabegh = Convert.ToBoolean(DT.Rows[0]["Access_savabegh"]);
}
}
}