using System; using System.Linq; using Avalonia; 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 OlderWindow : Window { public OlderWindow(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 NewOrder_OnClick(object? sender, RoutedEventArgs e) { NewOrder newOrder = new NewOrder(); newOrder.ShowDialog(this); } private void GetOrder_OnClick(object? sender, RoutedEventArgs e) { GetOrderWindow getOrderWindow = new GetOrderWindow(); getOrderWindow.ShowDialog(this); } private void Back_OnClick(object? sender, RoutedEventArgs e) { TimerService.Instance.Reset(); Close(); // MainWindow mainWindow = new MainWindow(); // mainWindow.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); } }