AuthWindow.axaml.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Linq;
  3. using Avalonia.Controls;
  4. using Avalonia.Interactivity;
  5. using exam.Models;
  6. namespace exam;
  7. public partial class AuthWindow : Window
  8. {
  9. public AuthWindow()
  10. {
  11. InitializeComponent();
  12. }
  13. public static int Auth(string login, string password)
  14. {
  15. if (String.IsNullOrWhiteSpace(login) || String.IsNullOrWhiteSpace(password))
  16. {
  17. return 1;
  18. }
  19. int countUsers = dbService.GetContext().Users.Where(u => u.Loginuser == login && u.Passworsuser == password).Count();
  20. if (countUsers == 0)
  21. {
  22. return 2;
  23. }
  24. return 0;
  25. }
  26. private void AuthButton_OnClick(object? sender, RoutedEventArgs e)
  27. {
  28. int errorCode = Auth(LoginTextBox.Text, PasswordTextBox.Text);
  29. // проверка заполненности полей
  30. if (errorCode == 1)
  31. {
  32. ErrorTextBlock.IsVisible = true;
  33. ErrorTextBlock.Text = "все поля должны быть заполнены";
  34. return;
  35. }
  36. // проверка существования пользователя
  37. if (errorCode == 2)
  38. {
  39. ErrorTextBlock.IsVisible = true;
  40. ErrorTextBlock.Text = "пользователь не найден";
  41. return;
  42. }
  43. UsersWindow usersWindow = new UsersWindow();
  44. usersWindow.Show();
  45. this.Close();
  46. }
  47. private void RegButton_OnClick(object? sender, RoutedEventArgs e)
  48. {
  49. RegWindow regWindow = new RegWindow();
  50. regWindow.Show();
  51. Close();
  52. }
  53. }