73 lines
2.1 KiB
C#
73 lines
2.1 KiB
C#
![]() |
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using Avalonia;
|
|||
|
using Avalonia.Controls;
|
|||
|
using Avalonia.Interactivity;
|
|||
|
using Avalonia.Markup.Xaml;
|
|||
|
using kursovaya.Models;
|
|||
|
|
|||
|
namespace kursovaya;
|
|||
|
|
|||
|
public partial class AddStudent : Window
|
|||
|
{
|
|||
|
List<Group> _groups = new List<Group>();
|
|||
|
Group group = new Group();
|
|||
|
|
|||
|
List<Student> students = new List<Student>();
|
|||
|
Student student = new Student();
|
|||
|
|
|||
|
User user = new User();
|
|||
|
public AddStudent()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
using var ctx = new DatabaseContext();
|
|||
|
|
|||
|
_groups = ctx.Groups.ToList();
|
|||
|
|
|||
|
GroupsComboBox.ItemsSource = _groups.Select(g => g.Id).ToList();
|
|||
|
}
|
|||
|
|
|||
|
private void ButtonAdd_OnClick(object? sender, RoutedEventArgs e)
|
|||
|
{
|
|||
|
if (GroupsComboBox.SelectedItem == null ||
|
|||
|
string.IsNullOrWhiteSpace(FioTextBox?.Text))
|
|||
|
{
|
|||
|
ErrorMessage.Text = "Поля не должны быть пустыми!";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
var fio = FioTextBox.Text;
|
|||
|
var selectedGroupId = (int)GroupsComboBox.SelectedItem;
|
|||
|
|
|||
|
var ctx = new DatabaseContext();
|
|||
|
|
|||
|
int lastUserId = ctx.Users.Max(u => u.Id);
|
|||
|
|
|||
|
user = new User() {Id = lastUserId+1, Login = $"user{lastUserId+1}", Password = "qwerty", Email = $"user{lastUserId+1}@mail.ru", RoleId = 1};
|
|||
|
student = new Student() {Id = lastUserId+1, Fio = fio, IdGroup = selectedGroupId, Login = $"user{lastUserId+1}"};
|
|||
|
|
|||
|
ctx.Users.Add(user);
|
|||
|
ctx.Students.Add(student);
|
|||
|
var changes = ctx.SaveChanges();
|
|||
|
|
|||
|
if (changes > 0)
|
|||
|
{
|
|||
|
SuccessMessage.Text = "Ученик успешно добавлен!";
|
|||
|
if (ErrorMessage != null)
|
|||
|
{
|
|||
|
ErrorMessage.Text = "";
|
|||
|
}
|
|||
|
students.Add(student);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ErrorMessage.Text = "Не удалось добавить ученика.";
|
|||
|
SuccessMessage.Text = "";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void ButtonBack_OnClick(object? sender, RoutedEventArgs e)
|
|||
|
{
|
|||
|
Close(students);
|
|||
|
}
|
|||
|
}
|