AuthPage.xaml.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. namespace IS31Nabievv.Pages
  16. {
  17. /// <summary>
  18. /// Логика взаимодействия для AuthPage.xaml
  19. /// </summary>
  20. public partial class AuthPage : Page
  21. {
  22. public AuthPage()
  23. {
  24. InitializeComponent();
  25. }
  26. private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
  27. {
  28. }
  29. private void Button_Click(object sender, RoutedEventArgs e)
  30. {
  31. if (string.IsNullOrEmpty(TextBoxLogin.Text) || string.IsNullOrEmpty(PasswordBox.Password))
  32. {
  33. MessageBox.Show("Введите логин и пароль!");
  34. return;
  35. }
  36. using (var db = new nabievBDEntities())
  37. {
  38. var user = db.Users
  39. .AsNoTracking()
  40. .FirstOrDefault(u => u.Login == TextBoxLogin.Text && u.Password == PasswordBox.Password);
  41. if (user == null)
  42. {
  43. MessageBox.Show("Пользователь с такими данными не найден!");
  44. return;
  45. }
  46. MessageBox.Show("Пользователь успешно найден!");
  47. // Переход на меню пользователя в зависимости от роли
  48. switch (user.Role)
  49. {
  50. case "Заказчик":
  51. NavigationService?.Navigate(new Menu());
  52. break;
  53. case "Директор":
  54. NavigationService?.Navigate(new Menu());
  55. break;
  56. }
  57. }
  58. }
  59. }
  60. }