65 lines
1.7 KiB
C#
65 lines
1.7 KiB
C#
using System;
|
|
using System.Linq;
|
|
using Avalonia;
|
|
using Avalonia.Collections;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Interactivity;
|
|
using Avalonia.Markup.Xaml;
|
|
using Avalonia.Media.Imaging;
|
|
using dmeo040225.Models;
|
|
using dmeo040225.Services;
|
|
|
|
namespace dmeo040225;
|
|
|
|
public partial class AdminWindow : Window
|
|
{
|
|
public AdminWindow(User user)
|
|
{
|
|
InitializeComponent();
|
|
|
|
using var context = new DatabaseContext();
|
|
var role = context.Roles.FirstOrDefault(it => it.Id == user.RoleId).Name;
|
|
|
|
Image.Source = new Bitmap(user.Photopath);
|
|
FioName.Text = user.Fio;
|
|
RoleName.Text = role;
|
|
|
|
TimerService.Instance.TimeUpdated += UpdateTimerText;
|
|
TimerService.Instance.TimerExpired += LogoutUser;
|
|
|
|
TimerService.Instance.Start();
|
|
}
|
|
|
|
private void Back_OnClick(object? sender, RoutedEventArgs e)
|
|
{
|
|
TimerService.Instance.Reset();
|
|
Close();
|
|
// MainWindow mainWindow = new MainWindow();
|
|
// mainWindow.ShowDialog(this);
|
|
}
|
|
|
|
private void History_OnClick(object? sender, RoutedEventArgs e)
|
|
{
|
|
HistoryWindow historyWindow = new HistoryWindow();
|
|
historyWindow.ShowDialog(this);
|
|
}
|
|
|
|
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);
|
|
}
|
|
} |