using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using SewerStammGen.WPF.Interface.Navigator; using SewerStammGen.WPF.ViewModel.State; using Shared.Contracts; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace SewerStammGen.WPF.ViewModel { public class ManholeEditViewModel : BaseViewModel { private readonly ISchachtDataService _schachtDataService; private readonly IRenavigator _renavigator; private Schacht _model; public ICommand Speichern { get; set; } public string Objektbezeichnung { get { return _model.Objektbezeichnung; } set { if(_model.Objektbezeichnung != value) { _model.Objektbezeichnung = value; OnPropertyChanged(); } } } public decimal RechtsWert { get => _model.RechtsWert; set { if(_model.RechtsWert != value) { _model.RechtsWert = value; OnPropertyChanged(); } } } public decimal HochWert { get => _model.HochWert; set { if (_model.HochWert != value) { _model.HochWert = value; OnPropertyChanged(); } } } public decimal DeckelHoehe { get => _model.DeckelHoehe; set { if (_model.DeckelHoehe != value) { _model.DeckelHoehe = value; OnPropertyChanged(); } } } public decimal SohlHoehe { get => _model.SohlHoehe; set { if (_model.SohlHoehe != value) { _model.SohlHoehe = value; OnPropertyChanged(); } } } public EEntwaeserung Entwaeserung { get => _model.Entwaesserung; set { if (_model.Entwaesserung != value) { _model.Entwaesserung = value; OnPropertyChanged(); } } } public ManholeEditViewModel(ISchachtDataService schachtDataService,IActualState actualState, IRenavigator renavigator) { _schachtDataService = schachtDataService; _model = actualState.SelectedSchacht; _renavigator = renavigator; Speichern = new RelayCommand((x) => SaveSchacht()); } private async void SaveSchacht() { if (_model.Id == 0) { await _schachtDataService.Create(_model); } else { await _schachtDataService.Update(_model); } _renavigator.Renavigate(); } } }