Blagodat/MainWindow.axaml.cs

89 lines
2.6 KiB
C#
Raw Permalink Normal View History

2025-02-11 10:23:14 +00:00
using Avalonia.Controls;
using Avalonia.Interactivity;
2025-02-12 07:50:05 +00:00
using Demka_Snova_1.Hardik.Conect;
2025-02-11 10:23:14 +00:00
using Demka_Snova_1.OknaRoley;
2025-04-22 07:25:24 +00:00
using System.Linq;
2025-02-12 07:50:05 +00:00
using System.Threading.Tasks;
2025-02-11 10:23:14 +00:00
namespace Demka_Snova_1;
public partial class MainWindow : Window
{
private bool _isPasswordVisible = false;
public MainWindow()
{
InitializeComponent();
}
private void TogglePasswordButton_Click(object sender, RoutedEventArgs e)
{
_isPasswordVisible = !_isPasswordVisible;
PasswordTextBox.PasswordChar = _isPasswordVisible ? '\0' : '*';
}
private void SelerTest_Click(object sender, RoutedEventArgs e)
{
2025-05-06 10:38:00 +00:00
var login = new SellerWindow();
2025-02-11 10:23:14 +00:00
login.Show();
this.Close();
}
2025-02-12 07:50:05 +00:00
private async void LoginButton_Click(object sender, RoutedEventArgs e)
2025-02-11 10:23:14 +00:00
{
string username = UsernameTextBox.Text;
string password = PasswordTextBox.Text;
2025-04-22 07:25:24 +00:00
using (var dbConnection = new DatabaseConnection())
2025-02-11 10:23:14 +00:00
{
2025-04-22 07:25:24 +00:00
var sotrudniki = dbConnection.GetAllSotrudniki();
var user = sotrudniki.FirstOrDefault(u => u.Login == username && u.Pass == password);
2025-02-11 10:23:14 +00:00
2025-02-12 07:50:05 +00:00
if (user != null)
2025-02-11 10:23:14 +00:00
{
2025-02-12 07:50:05 +00:00
Window nextWindow = null;
switch (user.Pozition)
{
case "Продавец":
2025-04-23 07:04:16 +00:00
case "продавец":
case "pusher":
case "prodovec":
2025-02-12 07:50:05 +00:00
nextWindow = new SellerWindow();
break;
case "Старший смены":
2025-04-23 07:04:16 +00:00
case "старший смены":
case "starshiy":
2025-02-12 07:50:05 +00:00
nextWindow = new StarshiyWindow();
break;
case "Администратор":
2025-04-23 07:04:16 +00:00
case "администратор":
case "admin":
2025-02-12 07:50:05 +00:00
nextWindow = new AdminWindow();
break;
default:
await ShowError("Неизвестная роль пользователя");
return;
}
2025-02-11 10:23:14 +00:00
2025-02-12 07:50:05 +00:00
nextWindow.Show();
this.Close();
}
else
{
await ShowError("Неверный логин или пароль");
}
2025-02-11 10:23:14 +00:00
}
2025-02-12 07:50:05 +00:00
}
2025-02-11 10:23:14 +00:00
2025-02-12 07:50:05 +00:00
private async Task ShowError(string message)
{
var dialog = new Window
{
Title = "Ошибка",
Content = message,
Width = 300,
Height = 200
};
await dialog.ShowDialog(this);
2025-02-11 10:23:14 +00:00
}
}