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 AddGroup : Window { List groups = new List(); Group group = new Group(); public AddGroup() { InitializeComponent(); } private void ButtonAdd_OnClick(object? sender, RoutedEventArgs e) { var id = IdTextBox.Text; var year = YearTextBox.Text; if (string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(year)) { ErrorMessage.Text = "Поля не должны быть пустыми!"; return; } int.TryParse(id, out int idInt); int.TryParse(year, out int yearInt); var ctx = new DatabaseContext(); if (ctx.Groups.Any(x => x.Id == idInt)) { ErrorMessage.Text = "Такая группа уже существует"; return; } group = new Group() { Id = idInt, YearAdmission = yearInt }; ctx.Groups.Add(group); var changes = ctx.SaveChanges(); if (changes > 0) { SuccessMessage.Text = "Группа успешно добавлена!"; if (ErrorMessage != null) { ErrorMessage.Text = ""; } groups.Add(group); } else { ErrorMessage.Text = "Не удалось добавить группу."; SuccessMessage.Text = ""; } } private void ButtonBack_OnClick(object? sender, RoutedEventArgs e) { Close(groups); } }