81 lines
2.2 KiB
C#
81 lines
2.2 KiB
C#
|
using Avalonia.Controls;
|
||
|
using Avalonia.Interactivity;
|
||
|
using System.Linq;
|
||
|
using data.RemoteData.RemoteDataBase;
|
||
|
using data.RemoteData.RemoteDataBase.DAO;
|
||
|
|
||
|
namespace Presence
|
||
|
{
|
||
|
public partial class GroupsWindow : Window
|
||
|
{
|
||
|
private readonly RemoteDatabaseContext _context;
|
||
|
|
||
|
public GroupsWindow()
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
_context = new RemoteDatabaseContext();
|
||
|
|
||
|
LoadGroups();
|
||
|
|
||
|
GroupComboBox.SelectionChanged += GroupComboBox_SelectionChanged;
|
||
|
BtnRefresh.Click += (s, e) => LoadGroups();
|
||
|
BtnAddUser.Click += BtnAddUser_Click;
|
||
|
}
|
||
|
|
||
|
private void LoadGroups()
|
||
|
{
|
||
|
var groups = _context.Groups.ToList();
|
||
|
GroupComboBox.ItemsSource = groups;
|
||
|
LoadUsers();
|
||
|
}
|
||
|
|
||
|
private void GroupComboBox_SelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||
|
{
|
||
|
LoadUsers();
|
||
|
}
|
||
|
|
||
|
private void LoadUsers()
|
||
|
{
|
||
|
if (GroupComboBox.SelectedItem is GroupDAO selectedGroup)
|
||
|
{
|
||
|
var users = _context.Users
|
||
|
.Where(u => u.GroupId == selectedGroup.Id)
|
||
|
.ToList();
|
||
|
|
||
|
UsersList.ItemsSource = users;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
UsersList.ItemsSource = null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private async void BtnAddUser_Click(object? sender, RoutedEventArgs e)
|
||
|
{
|
||
|
var addWindow = new AddOrEditUserWindow(_context);
|
||
|
await addWindow.ShowDialog(this);
|
||
|
LoadUsers();
|
||
|
}
|
||
|
|
||
|
private async void EditUser_Click(object? sender, RoutedEventArgs e)
|
||
|
{
|
||
|
if (UsersList.SelectedItem is UserDAO selectedUser)
|
||
|
{
|
||
|
var editWindow = new AddOrEditUserWindow(_context, selectedUser);
|
||
|
await editWindow.ShowDialog(this);
|
||
|
LoadUsers();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void DeleteUser_Click(object? sender, RoutedEventArgs e)
|
||
|
{
|
||
|
if (UsersList.SelectedItem is UserDAO selectedUser)
|
||
|
{
|
||
|
_context.Users.Remove(selectedUser);
|
||
|
_context.SaveChanges();
|
||
|
LoadUsers();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|