AuthorizationWindow.xaml.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. using Cafe.ListWindows;
  5. namespace Cafe
  6. {
  7. public partial class AuthorizationWindow : Window
  8. {
  9. public AuthorizationWindow()
  10. {
  11. InitializeComponent();
  12. }
  13. private void AuthorizationClick(object sender, RoutedEventArgs e)
  14. {
  15. if (Authorization(Login.Text.ToString(), Password.Password.ToString()))
  16. {
  17. if (User.Role == 3)
  18. {
  19. OrdersListWindow ordersListWindow = new OrdersListWindow();
  20. ordersListWindow.Show();
  21. }
  22. else
  23. {
  24. MainWindow mainWindow = new MainWindow();
  25. mainWindow.Show();
  26. }
  27. this.Close();
  28. }
  29. }
  30. public bool Authorization(string login, string password)
  31. {
  32. if (Login.Text == "" || Password.Password == "")
  33. {
  34. ErrorWindow errorWindow = new ErrorWindow("пустые поля");
  35. errorWindow.Show();
  36. return false;
  37. }
  38. if (Connection.db.Users.Select(item => item.Login + " " + item.Password).Contains(Login.Text + " " + Encrypt.Hash(Password.Password)))
  39. {
  40. if (Connection.db.Users.Where(users => users.Login == Login.Text).Select(users => users.IsFired).FirstOrDefault())
  41. {
  42. ErrorWindow errorWindow = new ErrorWindow("сотрудник уволен");
  43. return false;
  44. }
  45. int userID = Connection.db.Users.Where(users => users.Login == Login.Text).Select(users => users.ID).FirstOrDefault();
  46. int Role = Connection.db.Users.Where(users => users.ID == userID).Select(users => users.IDRole).FirstOrDefault();
  47. User.Role = Role;
  48. User.IDUser = userID;
  49. return true;
  50. }
  51. else
  52. {
  53. ErrorWindow errorWindow = new ErrorWindow("неверный логин/пароль");
  54. errorWindow.Show();
  55. return false;
  56. }
  57. }
  58. }
  59. }