Files
DaSaSo/DaSaSo.ViewModel/Commands/SelectProjectCommand.cs
2021-09-28 10:46:16 +02:00

40 lines
1.3 KiB
C#

using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Commands
{
public class SelectProjectCommand : AsyncCommandBase
{
private readonly IActualProject _actualProject;
private readonly ProjectListViewModel _projectListViewModel;
public override bool CanExecute(object? parameter)
{
return _projectListViewModel.SelectedProject != null;
}
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
{
_actualProject = actualProject;
_projectListViewModel = projectListViewModel;
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
}
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
OnCanExecuteChanged();
}
public override async Task ExecuteAsync(object? parameter)
{
var s = _projectListViewModel.SelectedProject;
_actualProject.SetProject(s);
}
}
}