| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- using System;
- using System.Windows.Forms;
- namespace WindowsFormsApp4
- {
- public partial class MainForm : Form
- {
- public MainForm()
- {
- InitializeComponent();
- ConfigureMenuByRole();
- SetUserInfo();
- AttachEventHandlers();
- }
- private void AttachEventHandlers()
- {
- btnRequests.Click += BtnRequests_Click;
- btnClients.Click += BtnClients_Click;
- btnManagers.Click += BtnManagers_Click;
- btnReports.Click += BtnReports_Click;
- btnAddresses.Click += BtnAddresses_Click;
- btnLogout.Click += BtnLogout_Click;
- }
- private void SetUserInfo()
- {
- if (Session.CurrentUser != null)
- {
- lblUserInfo.Text = $"{Session.CurrentUser.FirstName} {Session.CurrentUser.LastName} ({GetRoleName(Session.CurrentUser.Role)})";
- }
- }
- private string GetRoleName(string role)
- {
- switch (role)
- {
- case "admin": return "Администратор";
- case "manager": return "Менеджер";
- case "client": return "Клиент";
- default: return role;
- }
- }
- private void ConfigureMenuByRole()
- {
- // По умолчанию все кнопки скрыты
- btnClients.Visible = false;
- btnManagers.Visible = false;
- btnReports.Visible = false;
- btnAddresses.Visible = false;
- btnRequests.Visible = true; // Заявки видят все
- if (Session.IsAdmin)
- {
- btnClients.Visible = true;
- btnManagers.Visible = true;
- btnReports.Visible = true;
- }
- else if (Session.IsManager)
- {
- btnReports.Visible = true;
- }
- else if (Session.IsClient)
- {
- btnAddresses.Visible = true;
- }
- }
- private void BtnRequests_Click(object sender, EventArgs e)
- {
- RequestsForm requestsForm = new RequestsForm();
- requestsForm.ShowDialog();
- }
- private void BtnClients_Click(object sender, EventArgs e)
- {
- ClientsForm clientsForm = new ClientsForm();
- clientsForm.ShowDialog();
- }
- private void BtnManagers_Click(object sender, EventArgs e)
- {
- ManagersForm managersForm = new ManagersForm();
- managersForm.ShowDialog();
- }
- private void BtnReports_Click(object sender, EventArgs e)
- {
- ReportForm reportForm = new ReportForm();
- reportForm.ShowDialog();
- }
- private void BtnAddresses_Click(object sender, EventArgs e)
- {
- AddressesForm addressesForm = new AddressesForm();
- addressesForm.ShowDialog();
- }
- private void BtnLogout_Click(object sender, EventArgs e)
- {
- DialogResult result = MessageBox.Show("Вы уверены, что хотите выйти?",
- "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
- if (result == DialogResult.Yes)
- {
- Session.Logout();
- StartForm startForm = new StartForm();
- startForm.Show();
- this.Close();
- }
- }
- }
- }
|