using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using SewerStammGen.Shared.Enum; using StammGenerator.Interface; using System.Windows.Input; namespace StammGenerator.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 DeckelRechtsWert { get => _model.DeckelRechtsWert; set { if(_model.DeckelRechtsWert != value) { _model.DeckelRechtsWert = value; OnPropertyChanged(); } } } public decimal DeckelHochWert { get => _model.DeckelHochWert; set { if (_model.DeckelHochWert != value) { _model.DeckelHochWert = value; OnPropertyChanged(); } } } public decimal DeckelHoehe { get => _model.DeckelHoehe; set { if (_model.DeckelHoehe != value) { _model.DeckelHoehe = value; OnPropertyChanged(); } } } public decimal SohlHochWert { get => _model.SohlHochWert; set { if(_model.SohlHochWert != value) { _model.SohlHochWert = value; OnPropertyChanged(); } } } public decimal SohlRechtsWert { get => _model.SohlRechtsWert; set { if(_model.SohlRechtsWert != value) { _model.SohlRechtsWert = value; OnPropertyChanged(); } } } public decimal SohlHoehe { get => _model.SohlHoehe; set { if (_model.SohlHoehe != value) { _model.SohlHoehe = value; OnPropertyChanged(); } } } public string Vermesser { get => _model.Vermesser; set { if(_model.Vermesser != value) { _model.Vermesser = value; OnPropertyChanged(); } } } public string AufnahmeDatum { get => _model.AufnahmeDatum; set { if(_model.AufnahmeDatum != value) { _model.AufnahmeDatum = 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()); } public ManholeEditViewModel() { } private async void SaveSchacht() { if (_model.Id == 0) { await _schachtDataService.Create(_model); } else { await _schachtDataService.Update(_model); } _renavigator.Renavigate(); } } }