dmeo040225/AdminWindow.axaml.cs
2025-02-11 18:01:42 +03:00

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);
}
}