У меня есть таблица с именами пользователей, паролями и ролями пользователей.
Получен регистр переключения с условием: role_ID из таблицы UserRole, который соответствующим образом меняет перечисление roleType.
Я пытаюсь получить доступ к этому перечислению из формы главного меню.
, если RoleTypes - frmLogin.RoleTypes.Doctor
, то видны соответствующие кнопки.
Вот что я пытаюсь сделать.
Здесь я нахожусь.
Экран входа в систему
private void btnLogin_Click(object sender, EventArgs e)
{
public enum RoleTypes
{
practiceManager,
doctor,
receptionist
}
SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename....)
SqlCommand cmd = new SqlCommand("SELECT * FROM Users WHERE Username = @username and Password = @password", conn);
cmd.Parameters.AddWithValue("@username", txtBoxUsername.Text);
cmd.Parameters.AddWithValue("@password", txtBoxPassword.Text);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
bool loginSuccess = (ds.Tables[0].Rows.Count == 1);
if (loginSuccess)
{
switch (ds.Tables[0].Rows[0]["Role_ID"])
{
case 1:
{
RoleTypes roleType = RoleTypes.practiceManager;
Console.WriteLine("Role type changed to " + roleType);
}
break;
case 2:
{
RoleTypes roleType = RoleTypes.doctor;
Console.WriteLine("Role type changed to " + roleType);
}
break;
case 3:
{
RoleTypes roleType = RoleTypes.receptionist;
Console.WriteLine("Role type changed to " + roleType);
}
break;
default:
break;
}
}
Console.WriteLine("Logged in.");
FrmMenu menu = new FrmMenu();
menu.Show();
this.Hide();
}
else
{
MessageBox.Show("Invalid username or password.", "Error!", MessageBoxButtons.RetryCancel);
Console.WriteLine("Not logged in");
}
}
}
Главное меню
private void FrmPatients_Load(object sender, EventArgs e)
{
FrmLogin.RoleTypes roleType = new FrmLogin.RoleTypes();
if (roleType == FrmLogin.RoleTypes.doctor)
{
this.btnNewPatient.Visible = false;
}
}
Я знаю, что создаю новый экземпляр RoleTypes, но как мне ссылаться на существующий экземпляр?
Заранее спасибо!