Haltungübersicht angefangen

This commit is contained in:
2023-04-03 11:17:29 +02:00
parent d4b38ff7ae
commit 7999b7ffd0
33 changed files with 697 additions and 429 deletions

View File

@@ -0,0 +1,96 @@
using SewerStammGen.Shared.Contracts;
using SewerStammGen.WPF.ViewModel.State;
using Shared.Contracts;
using Shared.Domain;
using System;
using System.Collections.Generic;
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 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(IHaltungDataService kanalDataService, IActualState actualState)
{
_actualState = actualState;
_kanalDataService = kanalDataService;
_model = new Kanal();
Speichern = new RelayCommand((x) => SaveKanal());
LoadModel();
}
private void SaveKanal()
{
_kanalDataService.Update(_model.Id, _model);
}
private async void LoadModel()
{
_model = await _kanalDataService.Get(_actualState.HaltungID);
OnPropertyChanged(nameof(Haltungslaenge));
OnPropertyChanged(nameof(Haltungsbezeichnung));
OnPropertyChanged(nameof(Material));
OnPropertyChanged(nameof(Haltungslaenge));
}
}
}