dmeo040225/AdminWindow.axaml.cs

65 lines
1.7 KiB
C#
Raw Normal View History

2025-02-04 13:58:34 +00:00
using System;
using System.Linq;
using Avalonia;
2025-02-11 15:01:42 +00:00
using Avalonia.Collections;
2025-02-04 13:58:34 +00:00
using Avalonia.Controls;
2025-02-11 15:01:42 +00:00
using Avalonia.Interactivity;
2025-02-04 13:58:34 +00:00
using Avalonia.Markup.Xaml;
using Avalonia.Media.Imaging;
using dmeo040225.Models;
2025-02-11 15:01:42 +00:00
using dmeo040225.Services;
2025-02-04 13:58:34 +00:00
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;
2025-02-11 15:01:42 +00:00
TimerService.Instance.TimeUpdated += UpdateTimerText;
TimerService.Instance.TimerExpired += LogoutUser;
TimerService.Instance.Start();
2025-02-04 13:58:34 +00:00
}
2025-02-11 15:01:42 +00:00
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);
}
2025-02-04 13:58:34 +00:00
2025-02-11 15:01:42 +00:00
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);
}
2025-02-04 13:58:34 +00:00
}