67 lines
1.7 KiB
C#
67 lines
1.7 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 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);
|
||
}
|
||
} |