46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
using System;
|
|
using Avalonia.Controls;
|
|
using CourseProject1125.ViewModels;
|
|
|
|
namespace CourseProject1125.Views;
|
|
|
|
public partial class MainWindow : Window
|
|
{
|
|
public MainWindow()
|
|
{
|
|
var viewModel = new MainWindowViewModel();
|
|
viewModel.OnLoginSuccess = (roleId) => NavigateByRole(roleId);
|
|
DataContext = viewModel;
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void NavigateByRole(int roleId)
|
|
{
|
|
Window? nextWindow = null;
|
|
switch (roleId)
|
|
{
|
|
case 1:
|
|
nextWindow = new AdminWindow();
|
|
break;
|
|
case 2:
|
|
nextWindow = new LibrarianWindow();
|
|
break;
|
|
case 3:
|
|
nextWindow = new ReaderWindow();
|
|
break;
|
|
default:
|
|
if (DataContext is MainWindowViewModel vm)
|
|
{
|
|
vm.ErrorMessage = "Неизвестная роль пользователя.";
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (nextWindow != null)
|
|
{
|
|
nextWindow.Show();
|
|
this.Close();
|
|
}
|
|
}
|
|
} |