Пользовательские ограничения в авторизации winforms
Есть форма авторизации пользователя. Вводимые данные сверяются с базой данных пользователей. Существует несколько условий (логин, пароль, статус, отдел). В зависимости от выбранного отдела и статуса необходимо ограничить кнопки добавления, обновления, удаления. Допустим button.Enabled = false;
Этот вариант работает при переходе на следующую форму, отключает кнопку, но если перейти дальше, на другую форму, то отключение не работает. Как указать всем формам пользовательские ограничения?
Код формы авторизации:
namespace newforms
{
public partial class login : Form
{
public login()
{
InitializeComponent();
}
MySqlConnection con = ConDatabase.GetDBConnection();
Summa summ = new Summa();
Form1 fm1 = new Form1();
DSlamSetting setting = new DSlamSetting();
Dslam dslam = new Dslam();
stansiya stansiyya = new stansiya();
request requestt = new request();
Ochur ochurr = new Ochur();
port portt = new port();
private void login_Load(object sender, EventArgs e)
{
StatusFillCombobox();
DepartmentFillCombobox();
// DostupUslowiyya();
}
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button2_Click(object sender, EventArgs e)
{
MySqlCommand commandSelect = new MySqlCommand("Select COUNT(*) from login JOIN status ON login.status_id = status.id JOIN department ON login.department_id = department.id where login=@login AND parol=@parol AND status.name = @status AND department.name = @department", con);
commandSelect.Parameters.AddWithValue("@login", LoginTextbox.Text);
commandSelect.Parameters.AddWithValue("@parol", textBox2.Text);
commandSelect.Parameters.AddWithValue("@status", LoginStatusCombobox.Text);
commandSelect.Parameters.AddWithValue("@department", LoginDepartmentCombobox.Text);
MySqlDataAdapter adapter = new MySqlDataAdapter(commandSelect);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows[0][0].ToString() == "1" && LoginStatusCombobox.Text == "admin")
{
this.Hide();
Form1 fm1 = new Form1();
fm1.Show();
}
if (dt.Rows[0][0].ToString() == "1" && LoginStatusCombobox.Text == "employee" && LoginDepartmentCombobox.Text == "vip")
{
this.Hide();
fm1.Show();
setting.AddDslambutton.Enabled = false;
setting.DeleteDslambutton.Enabled = false;
stansiyya.Addbutton.Enabled = false;
stansiyya.Deletebutton.Enabled = false;
stansiyya.Updatebutton.Enabled = false;
}
if (dt.Rows[0][0].ToString() == "1" && LoginStatusCombobox.Text == "employee" && LoginDepartmentCombobox.Text == "GTS")
{
this.Hide();
fm1.Show();
fm1.ButtonDslamClick.Enabled = false;
fm1.DslamAdd.Enabled = false;
fm1.ButtonOchered.Enabled = false;
fm1.ButtonArzalar.Enabled = false;
}
if (dt.Rows[0][0].ToString() == "1" && LoginStatusCombobox.Text == "employee" && LoginDepartmentCombobox.Text == "IT")
{
this.Hide();
fm1.Show();
fm1.ButtonOchered.Enabled = false;
fm1.ButtonArzalar.Enabled = false;
stansiyya.Addbutton.Enabled = false;
stansiyya.Deletebutton.Enabled = false;
stansiyya.Updatebutton.Enabled = false;
}
else
{
MessageBox.Show("username or password is not correct");
}
}
private void LoginTextbox_Leave(object sender, EventArgs e)
{
if (LoginTextbox.Text == "")
{
LoginTextbox.Text = "Login";
LoginTextbox.ForeColor = Color.Silver;
}
}
private void LoginTextbox_Enter(object sender, EventArgs e)
{
if (LoginTextbox.Text == "Login")
LoginTextbox.Text = "";
LoginTextbox.ForeColor = Color.Black;
}
public void StatusFillCombobox()
{
MySqlDataAdapter adapterr = new MySqlDataAdapter("SELECT name FROM status", con);
DataSet dsett = new DataSet();
adapterr.Fill(dsett);
LoginStatusCombobox.ValueMember = "name";
LoginStatusCombobox.DisplayMember = "name";
LoginStatusCombobox.DataSource = dsett.Tables[0];
LoginStatusCombobox.Text = "Status";
}
public void DepartmentFillCombobox()
{
MySqlDataAdapter adapterr = new MySqlDataAdapter("SELECT name FROM department", con);
DataSet dsett = new DataSet();
adapterr.Fill(dsett);
LoginDepartmentCombobox.ValueMember = "name";
LoginDepartmentCombobox.DisplayMember = "name";
LoginDepartmentCombobox.DataSource = dsett.Tables[0];
LoginDepartmentCombobox.Text = "Status";
}
}
}
есть такая форма где не работает условия
namespace newforms
{
public partial class stansiya : Form
{
MySqlConnection con = ConDatabase.GetDBConnection();
DataTable dt = new DataTable("");
string query;
MySqlCommand command;
MySqlDataAdapter adapter = new MySqlDataAdapter();
int id;
public stansiya()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void Stansiýa_Load(object sender, EventArgs e)
{
spisok();
DGVStil.Grid1style(dataGridView1);
spisokDvG2();
DVG2Still();
TimeSet(); // Настроит дататимепикчерс на текущую дату
// SelectDslam(); // Выбирает столбец Сатс у сум тейбла
displayGrid(); // сортирует Дслам что выбирал комбобокс
// probaGrid();
SelectSatsFromSum();
SelectDslamId();
DisplayDatagridview1();
}