LogInViewModel.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using Core.RelayCommand;
  2. using MyMoviesWPF.MVVM.ViewModel.Core;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. namespace MyMoviesWPF.MVVM.ViewModel
  11. {
  12. internal class LogInViewModel
  13. {
  14. public string EnteredLogin { get; set; }
  15. private RelayCommand _signIn;
  16. public LogInViewModel()
  17. {
  18. }
  19. //public RelayCommand SignIn
  20. //{
  21. // get
  22. // {
  23. // return _signIn
  24. // ?? (_signIn = new RelayCommand(
  25. // async () =>
  26. // {
  27. //
  28. // }));
  29. // }
  30. //}
  31. public RelayCommand SignIn
  32. {
  33. get => new RelayCommand(o =>
  34. {
  35. PasswordBox password = o as PasswordBox;
  36. var user = Service.db.Users.FirstOrDefault(u => u.Login == EnteredLogin && u.Password == password.Password);
  37. if (user != null)
  38. {
  39. Service.LoggedUser = user;
  40. Service.MainViewModel.SetVisibility(false);
  41. foreach (Window item in Application.Current.Windows)
  42. {
  43. if (item.DataContext == this) item.Close();
  44. }
  45. }
  46. else
  47. {
  48. MessageBox.Show("Введены неверные данные или пользователя не существует", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  49. }
  50. });
  51. }
  52. }
  53. }