MainWindowsVM.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Text.RegularExpressions;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. namespace Task1.ViewModel
  11. {
  12. class MainWindowsVM : BaseViewModel
  13. {
  14. private ObservableCollection<User> _users;
  15. private User _user;
  16. private RelayCommand _login;
  17. private RelayCommand _reg;
  18. public RelayCommand Reg
  19. {
  20. get
  21. {
  22. return _reg ??
  23. (_reg = new RelayCommand((x) =>
  24. {
  25. new RegWindow().Show();
  26. Helper.CloseWindowsAtType<MainWindow>();
  27. }));
  28. }
  29. }
  30. public RelayCommand Login
  31. {
  32. get
  33. {
  34. return _login ?? (_login = new RelayCommand(
  35. _password =>
  36. {
  37. User.Password = ((PasswordBox)_password).Password;//
  38. User user = Users.FirstOrDefault(a => a.Login == User.Login && a.Password == User.Password);//Возвращает первый элемент, который равен условию
  39. if (user != null)
  40. {
  41. User.AUser = user;
  42. new UserWindow().Show();
  43. Helper.CloseWindowsAtType<MainWindow>();
  44. }
  45. else
  46. {
  47. MessageBox.Show("Ввели пароль или логин не правильно");
  48. }
  49. }));
  50. }
  51. }
  52. public User User
  53. {
  54. get => _user;
  55. set
  56. {
  57. _user = value;
  58. OnPropertyChanged();
  59. }
  60. }
  61. public ObservableCollection<User> Users
  62. {
  63. get => _users;
  64. set
  65. {
  66. _users = value;
  67. OnPropertyChanged();
  68. }
  69. }
  70. public MainWindowsVM()
  71. {
  72. _user = new User();
  73. TaskContext taskContext = new TaskContext();
  74. _users = new ObservableCollection<User>(taskContext.Users);
  75. }
  76. }
  77. }