Files
Prog4_Beadando/WD7UVN_SzTGUI_2023242.Client.WPF/ViewModels/GetAllEmployeesViewModel.cs

79 lines
2.5 KiB
C#
Raw Normal View History

2024-04-29 22:57:48 +02:00
using WD7UVN_HFT_2023241.Models;
using System.ComponentModel;
using System.Windows;
using CommunityToolkit.Mvvm.ComponentModel;
using System.Windows.Input;
using CommunityToolkit.Mvvm.Input;
2024-04-30 15:26:02 +02:00
using WD7UVN_SzTGUI_2023242.Client.WPF.Windows;
2024-04-29 22:57:48 +02:00
namespace WD7UVN_SzTGUI_2023242.Client.WPF.ViewModels
{
public class GetAllEmployeesViewModel : ObservableRecipient
{
public RestCollection<Employee> Employees { get; set; }
private Employee selectedEmployee;
public Employee SelectedEmployee
{
get { return selectedEmployee; }
set
{
SetProperty(ref selectedEmployee, value);
(UpdateEmployeeCommand as RelayCommand).NotifyCanExecuteChanged();
(DeleteEmployeeCommand as RelayCommand).NotifyCanExecuteChanged();
(GetSubordinatesCommand as RelayCommand).NotifyCanExecuteChanged();
}
2024-04-29 22:57:48 +02:00
}
public ICommand UpdateEmployeeCommand { get; set; }
public ICommand DeleteEmployeeCommand { get; set; }
public ICommand GetSubordinatesCommand { get; set; }
2024-04-29 22:57:48 +02:00
public static bool IsInDesignMode
{
get
{
var prop = DesignerProperties.IsInDesignModeProperty;
return (bool)DependencyPropertyDescriptor.FromProperty(prop, typeof(FrameworkElement)).Metadata.DefaultValue;
}
}
public GetAllEmployeesViewModel()
{
if (!IsInDesignMode)
{
2024-04-30 15:26:02 +02:00
Employees = new RestCollection<Employee>("http://localhost:5000/", "api/Employee", "hub");
2024-04-29 22:57:48 +02:00
UpdateEmployeeCommand = new RelayCommand(() =>
{
Employees.Update(SelectedEmployee);
},
() =>
{
return SelectedEmployee != null;
});
DeleteEmployeeCommand = new RelayCommand(() =>
{
Employees.Delete(SelectedEmployee.ID);
},
() =>
{
return SelectedEmployee != null;
});
2024-04-30 15:26:02 +02:00
GetSubordinatesCommand = new RelayCommand(() =>
{
Window window = new GetSubordinates(SelectedEmployee);
window.Show();
},
() =>
{
return SelectedEmployee != null;
});
2024-04-29 22:57:48 +02:00
}
}
}
}