kursovaya/AddGroup.axaml.cs

67 lines
1.7 KiB
C#
Raw Permalink Normal View History

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<Group> groups = new List<Group>();
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);
}
}