MainWindow.xaml.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System.Windows;
  2. using ComputerShopWpf.Services;
  3. namespace ComputerShopWpf.Views
  4. {
  5. public partial class MainWindow : Window
  6. {
  7. public MainWindow()
  8. {
  9. InitializeComponent();
  10. ApplyRole();
  11. ContentFrame.Navigate(new LateOrdersPage());
  12. }
  13. private void ApplyRole()
  14. {
  15. SessionTextBlock.Text = UserSession.Login + " | роль: " + GetRoleTitle(UserSession.RoleName);
  16. UsersButton.Visibility = UserSession.CanManageUsers() ? Visibility.Visible : Visibility.Collapsed;
  17. }
  18. private void ClientsButton_Click(object sender, RoutedEventArgs e)
  19. {
  20. ContentFrame.Navigate(new ClientsPage());
  21. }
  22. private void ProductsButton_Click(object sender, RoutedEventArgs e)
  23. {
  24. ContentFrame.Navigate(new ProductsPage());
  25. }
  26. private void OrdersButton_Click(object sender, RoutedEventArgs e)
  27. {
  28. ContentFrame.Navigate(new OrdersPage());
  29. }
  30. private void LateOrdersButton_Click(object sender, RoutedEventArgs e)
  31. {
  32. ContentFrame.Navigate(new LateOrdersPage());
  33. }
  34. private void UsersButton_Click(object sender, RoutedEventArgs e)
  35. {
  36. ContentFrame.Navigate(new UsersPage());
  37. }
  38. private void LogoutButton_Click(object sender, RoutedEventArgs e)
  39. {
  40. MessageBoxResult result = MessageBox.Show(
  41. "Вы действительно хотите выйти из аккаунта?",
  42. "Подтверждение выхода",
  43. MessageBoxButton.YesNo,
  44. MessageBoxImage.Question);
  45. if (result != MessageBoxResult.Yes)
  46. {
  47. return;
  48. }
  49. UserSession.Clear();
  50. LoginWindow loginWindow = new LoginWindow();
  51. loginWindow.Show();
  52. Close();
  53. }
  54. private static string GetRoleTitle(string roleName)
  55. {
  56. if (roleName == "admin")
  57. {
  58. return "администратор";
  59. }
  60. if (roleName == "manager")
  61. {
  62. return "менеджер";
  63. }
  64. return "просмотр";
  65. }
  66. }
  67. }