80 lines
2.0 KiB
C#
80 lines
2.0 KiB
C#
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<User> 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<User>(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);
|
|
}
|
|
} |