AuthorizationWindow.xaml.cs 2.2 KB

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