Files
DaSaSo/DaSaSo.Wpf/ViewModel/Commands/EditClientCommand.cs
2022-03-30 14:59:12 +02:00

46 lines
1.6 KiB
C#

using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Wpf.ViewModel.Interface;
using System.ComponentModel;
using System.Threading.Tasks;
namespace DaSaSo.Wpf.ViewModel.Commands
{
public class EditClientCommand : AsyncCommandBase
{
private readonly IDataService<Client> dataservice;
private readonly IActualProject actualProject;
private readonly IRenavigator renavigator;
private readonly ClientListViewModel _clientListViewModel;
public override bool CanExecute(object? parameter)
{
return _clientListViewModel.CanSelectClient;
}
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
{
this.dataservice = dataservice;
this.actualProject = actualProject;
this.renavigator = renavigator;
this._clientListViewModel = clientListViewModel;
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
}
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
{
OnCanExecuteChanged();
}
}
public override async Task ExecuteAsync(object? parameter)
{
actualProject.SetClient(_clientListViewModel.SelectedClient);
renavigator.Renavigate();
}
}
}