Files
SewerGenerator/SewerStammGen.WPF/ViewModel/Schacht/ManholeEditViewModel.cs

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