viewmodel ins wpf gepackt, build failed
This commit is contained in:
44
DaSaSo.Wpf/ViewModel/Commands/EditImpregnationCommand.cs
Normal file
44
DaSaSo.Wpf/ViewModel/Commands/EditImpregnationCommand.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Wpf.ViewModel.Interface;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.Wpf.ViewModel.Commands
|
||||
{
|
||||
internal class EditImpregnationCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Impregnation> _impregnationService;
|
||||
private ImpregnierungListViewModel _impregnierungListViewModel;
|
||||
private IRenavigator _editRenavigator;
|
||||
private IActualProject _actualProject;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _impregnierungListViewModel.SelectedImpregnation != null;
|
||||
}
|
||||
|
||||
public EditImpregnationCommand(
|
||||
IDataService<Impregnation> impregnationService,
|
||||
ImpregnierungListViewModel impregnierungListViewModel,
|
||||
IActualProject actualProject,
|
||||
IRenavigator editRenavigator)
|
||||
{
|
||||
_impregnationService = impregnationService;
|
||||
_impregnierungListViewModel = impregnierungListViewModel;
|
||||
_actualProject = actualProject;
|
||||
_editRenavigator = editRenavigator;
|
||||
_impregnierungListViewModel.PropertyChanged += _impregnierungListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _impregnierungListViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_impregnierungListViewModel.CanSelectImpregnation))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_actualProject.SetImpregnation(_impregnierungListViewModel.SelectedImpregnation);
|
||||
_editRenavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user