Files
SewerGenerator/SewerStammGen.WPF/ViewModel/Schacht/ManholeEditViewModel.cs
Damian Wessels 0877d2b308 Kandis exporter geschrieben
Deckel und Sohlhöhe werden gespeichert
2023-04-19 20:52:02 +02:00

148 lines
3.8 KiB
C#

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 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 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();
}
}
}