using RKISPATTERN.Command; using RKISPATTERN.Helpers; using RKISPATTERN.Models; using RKISPATTERN.View; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; namespace RKISPATTERN.ViewModels { class MainWindowViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; public void OnPropertyChanged([CallerMemberName] string prop = "") { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(prop)); } string currentUserLogin; public string CurrentUserLogin { get { return currentUserLogin; } set { currentUserLogin = value; OnPropertyChanged("CurrentUserLogin"); } } public static User CurrentUser {get;set;} private RelayCommand logUser; public RelayCommand LogUser { get { return logUser ?? (logUser = new RelayCommand(obj => { PasswordBox pb = (PasswordBox)obj; using (DBContext db = new DBContext()) { User user = db.User.FirstOrDefault(el=>el.Login==currentUserLogin && el.Password==pb.Password); if(user != null) { CurrentUser = user; MainMenu menu = new MainMenu(); menu.Show(); Helper.CloseWindow(); } else { MessageBox.Show("Пользователь не найден!"); } } })); } } private RelayCommand showRegWindow; public RelayCommand ShowRegWindow { get { return showRegWindow ?? (showRegWindow = new RelayCommand(obj => { Registration reg = new Registration(); reg.Show(); Helper.CloseWindow(); })); } } } }