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

40 lines
1.4 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 SelectBuildingsiteCommand : AsyncCommandBase
{
private IActualProject _actualProject;
private BuildingsiteListViewModel _buildingsiteListViewModel;
public override bool CanExecute(object? parameter)
{
return _buildingsiteListViewModel.CanSelectBuildingsite;
}
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
{
this._actualProject = actualProject;
this._buildingsiteListViewModel = buildingsiteListViewModel;
_buildingsiteListViewModel.PropertyChanged += _buildingsiteListViewModel_PropertyChanged;
}
private void _buildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
OnCanExecuteChanged();
}
public override async Task ExecuteAsync(object? parameter)
{
var s = _buildingsiteListViewModel.SelectedBuildingsite;
_actualProject.SetBuildingSite(s);
}
}
}