dmeo040225/SellerWindow.axaml.cs

68 lines
1.7 KiB
C#
Raw Normal View History

2025-02-04 13:58:34 +00:00
using System;
using System.Linq;
using Avalonia.Controls;
using Avalonia.Interactivity;
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 SellerWindow : Window
{
2025-02-11 15:01:42 +00:00
private readonly User _currentUser;
2025-02-04 13:58:34 +00:00
public SellerWindow(User user)
{
InitializeComponent();
2025-02-11 15:01:42 +00:00
_currentUser = user;
2025-02-04 13:58:34 +00:00
using var context = new DatabaseContext();
var role = context.Roles.FirstOrDefault(it => it.Id == user.RoleId).Name;
2025-02-11 15:01:42 +00:00
2025-02-04 13:58:34 +00:00
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;
if (_currentUser.RoleId == 2)
{
TimerService.Instance.Start(); // Начинаем отсчёт, если ещё не запущен
}
}
private void UpdateTimerText(TimeSpan time)
{
TimerText.Text = $"Осталось: {time:mm\\:ss}";
}
private void LogoutUser()
{
Close();
var mainWindow = new MainWindow();
mainWindow.Show();
2025-02-04 13:58:34 +00:00
}
private void NewOrder_OnClick(object? sender, RoutedEventArgs e)
{
NewOrder newOrder = new NewOrder();
newOrder.ShowDialog(this);
}
2025-02-11 15:01:42 +00:00
2025-02-04 13:58:34 +00:00
private void Back_OnClick(object? sender, RoutedEventArgs e)
{
2025-02-11 15:01:42 +00:00
TimerService.Instance.Reset();
Close();
// MainWindow mainWindow = new MainWindow();
// mainWindow.Show();
2025-02-04 13:58:34 +00:00
}
2025-02-11 15:01:42 +00:00
protected override void OnClosed(EventArgs e)
{
TimerService.Instance.TimeUpdated -= UpdateTimerText;
TimerService.Instance.TimerExpired -= LogoutUser;
base.OnClosed(e);
}
}