using System; using System.Linq; using Avalonia; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; using QualTask.Models; namespace QualTask; public partial class RegistrationWindow : Window { public RegistrationWindow() { InitializeComponent(); RoleComboBox.SelectedIndex = 1; } private void RegistrationButton_OnClick(object? sender, RoutedEventArgs e) { // Получаем данные из TextBox'ов string fname = FNameTextBox.Text; string lname = LNameTextBox.Text; string login = LoginTextBox.Text; string password = PasswordTextBox.Text; string role = RoleComboBox.SelectedItem.ToString(); // Проверяем что поля не пустые if (String.IsNullOrWhiteSpace(fname) || String.IsNullOrWhiteSpace(lname) || String.IsNullOrWhiteSpace(login) || String.IsNullOrWhiteSpace(password) || String.IsNullOrWhiteSpace(role)) { ErrorTextBlock.IsVisible = true; ErrorTextBlock.Text = "Все поля должны быть заполнены!"; return; } // Получаем id роли int role_id; if (role == "Администратор") { role_id = 1; } else { role_id = 2; } // Проверяем что пользователя не существует if (DbService.GetContext().Users.Where(u => u.Login == login).Count() != 0) { ErrorTextBlock.IsVisible = true; ErrorTextBlock.Text = "Такой пользователь уже существует!"; return; } // Добавляем пользователя User user = new User(); user.Fname = fname; user.Lname = lname; user.Login = login; user.Password = password; user.Role = role_id; DbService.GetContext().Users.Add(user); DbService.GetContext().SaveChanges(); ErrorTextBlock.IsVisible = false; } private void BackButton_OnClick(object? sender, RoutedEventArgs e) { AuthWindow wnd = new AuthWindow(); wnd.Show(); Close(); } }