using DaSaSo.Domain.Model; using DaSaSo.Domain.Services; using DaSaSo.Domain.Services.BuildingsiteServices; using DaSaSo.ViewModel.Interface; using Microsoft.Toolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace DaSaSo.ViewModel { public class BuildingsiteEditViewModel : BaseViewModel { private readonly IDataService _buildingsiteService; private readonly IActualProject _actualProject; private readonly IRenavigator _renavigator; private readonly Buildingsite _model; public Buildingsite Model { get => _model; } public string BuildingNumber { get => _model.BuildingSiteNumber; set { if(_model.BuildingSiteNumber != value) { _model.BuildingSiteNumber = value; OnPropertyChanged(); } } } public string Country { get => _model.Country; set { if(_model.Country != value) { _model.Country = value; OnPropertyChanged(); } } } public string Contactperson { get => _model.ContactPerson; set { if (_model.ContactPerson != value) { _model.ContactPerson = value; OnPropertyChanged(); } } } public IRelayCommand SaveBuildingsiteCommand { get; set; } public BuildingsiteEditViewModel(IDataService buildingsiteService, IActualProject actualProject, IRenavigator renavigator) { _buildingsiteService = buildingsiteService; _actualProject = actualProject; _renavigator = renavigator; _model = actualProject.AktuellBaustelle; SaveBuildingsiteCommand = new RelayCommand(SaveBuildingsite); } private void SaveBuildingsite() { _buildingsiteService.Update(Model.Id, Model); _renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService, _actualProject, _renavigator, null)); } } }