AuthPage.xaml.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 Harina_Lessons.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 ButtonEnter_OnClick(object sender, RoutedEventArgs e)
  27. {
  28. if (string.IsNullOrEmpty(TextBoxLogin.Text) || string.IsNullOrEmpty(PasswordBox.Password))
  29. {
  30. MessageBox.Show("Введите логин и пароль!");
  31. return;
  32. }
  33. using (var db = new Harina_LessonsEntities())
  34. {
  35. var user = db.User
  36. .AsNoTracking()
  37. .FirstOrDefault(u => u.Login == TextBoxLogin.Text && u.Password == PasswordBox.Password);
  38. if (user == null)
  39. {
  40. MessageBox.Show("Пользователь с такими данными не найден!");
  41. return;
  42. }
  43. MessageBox.Show("Пользователь успешно найден!");
  44. // Переход на меню пользователя в зависимости от роли
  45. switch (user.Role)
  46. {
  47. case "Заказчик":
  48. NavigationService?.Navigate(new CustomerMenu());
  49. break;
  50. case "Директор":
  51. NavigationService?.Navigate(new CustomerMenu());
  52. break;
  53. }
  54. NavigationService?.Navigate(new CustomerMenu());
  55. }
  56. }
  57. private void ButtonRegistration_OnClick(object sender, RoutedEventArgs e)
  58. {
  59. NavigationService?.Navigate(new Page2());
  60. }
  61. }
  62. }