using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using SewerStammGen.WPF.Commands; using SewerStammGen.WPF.Interface.Navigator; using SewerStammGen.WPF.ViewModel.State; using Shared.Contracts; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Controls; using System.Windows.Input; namespace SewerStammGen.WPF.ViewModel { internal class HaltungEditViewModel : BaseViewModel { private readonly IActualState _actualState; private readonly IHaltungDataService _haltungDataService; private Kanal _model; public Kanal Model { get => _model; set { _model = value; } } public string _oberePunkt { get; set; } public string _unterePunkt { get; set; } public string ObereSchacht { get => _oberePunkt; set { if (_oberePunkt != value) { _oberePunkt = value; OnPropertyChanged(); } } } public string UntereSchacht { get => _unterePunkt; set { if (_unterePunkt != value) { _unterePunkt = value; OnPropertyChanged(); } } } public string Haltungsbezeichnung { get => _model.Objektbezeichnung; set { if(_model.Objektbezeichnung != value) { _model.Objektbezeichnung = value; OnPropertyChanged(); } } } public string Material { get => _model.Material; set { if( _model.Material != value) { _model.Material = value; OnPropertyChanged(); } } } public string Durchmesser { get => _model.DN.ToString(); set { if(_model.DN.ToString() != value) { _model.DN = int.Parse(value); OnPropertyChanged(); } } } public string Haltungslaenge { get => _model.Haltungslaenge.ToString(); set { if(_model.Haltungslaenge.ToString() != value) { _model.Haltungslaenge = decimal.Parse(value); OnPropertyChanged(); } } } public ICommand Speichern { get; set; } public HaltungEditViewModel( IHaltungDataService haltungDataService, IActualState actualState, IRenavigator renavigator) { _actualState = actualState; _haltungDataService = haltungDataService; _model = _actualState.SelectedHaltung; _oberePunkt = _model.StartSchacht.Objektbezeichnung; _unterePunkt = _model.EndSchacht.Objektbezeichnung; Speichern = new HaltungEditSaveCommand(_haltungDataService,renavigator,this); } } }