using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using SewerStammGen.WPF.Commands; 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 _kanalDataService; 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( IActualState actualState) { _actualState = actualState; //_kanalDataService = kanalDataService; _model = new Kanal(); Speichern = new HaltungEditSaveCommand(this); LoadModel(); } private async void LoadModel() { /*_model = await _kanalDataService.Get(_actualState.HaltungID); UntereSchacht = _model.EndSchacht.Objektbezeichnung; ObereSchacht = _model.StartSchacht.Objektbezeichnung; OnPropertyChanged(nameof(ObereSchacht)); OnPropertyChanged(nameof(UntereSchacht)); OnPropertyChanged(nameof(Haltungslaenge)); OnPropertyChanged(nameof(Haltungsbezeichnung)); OnPropertyChanged(nameof(Material)); OnPropertyChanged(nameof(Durchmesser)); */ } } }