Files
DaSaSo/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs
HuskyTeufel acc577eb32 Imprägnierungen edit
Edit button erst verfügbar wenn ein Imprägnierung ausgewählt wurde
2022-03-30 13:22:57 +02:00

50 lines
1.8 KiB
C#

using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.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();
}
}
}