MainWindowViewModel.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using RKISPATTERN.Command;
  2. using RKISPATTERN.Helpers;
  3. using RKISPATTERN.Models;
  4. using RKISPATTERN.View;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Linq;
  9. using System.Runtime.CompilerServices;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows;
  13. using System.Windows.Controls;
  14. namespace RKISPATTERN.ViewModels
  15. {
  16. class MainWindowViewModel : INotifyPropertyChanged
  17. {
  18. public event PropertyChangedEventHandler? PropertyChanged;
  19. public void OnPropertyChanged([CallerMemberName] string prop = "")
  20. {
  21. if (PropertyChanged != null)
  22. PropertyChanged(this, new PropertyChangedEventArgs(prop));
  23. }
  24. string currentUserLogin;
  25. public string CurrentUserLogin
  26. {
  27. get { return currentUserLogin; }
  28. set
  29. {
  30. currentUserLogin = value;
  31. OnPropertyChanged("CurrentUserLogin");
  32. }
  33. }
  34. public static User CurrentUser {get;set;}
  35. private RelayCommand logUser;
  36. public RelayCommand LogUser
  37. {
  38. get
  39. {
  40. return logUser ??
  41. (logUser = new RelayCommand(obj =>
  42. {
  43. PasswordBox pb = (PasswordBox)obj;
  44. using (DBContext db = new DBContext())
  45. {
  46. User user = db.User.FirstOrDefault(el=>el.Login==currentUserLogin && el.Password==pb.Password);
  47. if(user != null)
  48. {
  49. CurrentUser = user;
  50. MainMenu menu = new MainMenu();
  51. menu.Show();
  52. Helper.CloseWindow<MainWindow>();
  53. }
  54. else
  55. {
  56. MessageBox.Show("Пользователь не найден!");
  57. }
  58. }
  59. }));
  60. }
  61. }
  62. private RelayCommand showRegWindow;
  63. public RelayCommand ShowRegWindow
  64. {
  65. get
  66. {
  67. return showRegWindow ??
  68. (showRegWindow = new RelayCommand(obj =>
  69. {
  70. Registration reg = new Registration();
  71. reg.Show();
  72. Helper.CloseWindow<MainWindow>();
  73. }));
  74. }
  75. }
  76. }
  77. }