using System; using System.Collections.ObjectModel; using System.Linq; using Avalonia; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; using dmeo040225.Models; using dmeo040225.Services; namespace dmeo040225; public partial class HistoryWindow : Window { public ObservableCollection Users { get; set; } = new(); public HistoryWindow() { InitializeComponent(); using var context = new DatabaseContext(); var users = context.Users.Select(user => new UserPresenter { Id = user.Id, RoleId = user.RoleId, Login = user.Login, Password = user.Password, Lastlogin = user.Lastlogin, Logorno = user.Logorno, }).ToList(); Users = new ObservableCollection(users); ListBoxHistory.ItemsSource = Users; TimerService.Instance.TimeUpdated += UpdateTimerText; TimerService.Instance.TimerExpired += LogoutUser; } public class UserPresenter() : User { String logOrNoText { get { if (Logorno == true) { return "accessed"; } else { return "denied"; } } } } private void Back_OnClick(object? sender, RoutedEventArgs e) { Close(); // MainWindow mainWindow = new MainWindow(); // mainWindow.Show(); } private void UpdateTimerText(TimeSpan time) { TimerText.Text = $"Осталось: {time:mm\\:ss}"; } private void LogoutUser() { Close(); var mainWindow = new MainWindow(); mainWindow.Show(); } protected override void OnClosed(EventArgs e) { TimerService.Instance.TimeUpdated -= UpdateTimerText; TimerService.Instance.TimerExpired -= LogoutUser; base.OnClosed(e); } }