using RKISPATTERN.Command; using RKISPATTERN.Helpers; using RKISPATTERN.View; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace RKISPATTERN.ViewModels { class UserInfo { public int ID { get; set; } public string FirstName { get; set; } public string MiddleName { get; set; } public string LastName { get; set; } public string Login { get; set; } public string Phone { get; set; } public UserInfo(int iD, string firstName, string middleName, string lastName, string login, string phone) { ID = iD; FirstName = firstName; MiddleName = middleName; LastName = lastName; Login = login; Phone = phone; } } class ListUsersViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; public void OnPropertyChanged([CallerMemberName] string prop = "") { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(prop)); } private RelayCommand backToMenu; public RelayCommand BackToMenu { get { return backToMenu ?? (backToMenu = new RelayCommand(obj => { MainMenu mainMenu = new MainMenu(); mainMenu.Show(); Helper.CloseWindow(); })); } } private ObservableCollection _users; public ObservableCollection Users { get => _users; set { _users = value; OnPropertyChanged(); } } public ListUsersViewModel() { using (DBContext dbContext = new DBContext()) { List userInfos = new List(); foreach (var el in dbContext.User) { userInfos.Add(new UserInfo(el.Id, el.FirstName, el.MiddleName, el.LastName,el.Login, el.Phone)); } _users = new ObservableCollection(userInfos); } } } }