Files
SewerGenerator/SewerStammGen/ViewModel/Haltung/HaltungEditViewModel.cs
2023-04-11 19:56:36 +02:00

145 lines
3.9 KiB
C#

using SewerStammGen.Shared.Contracts;
using SewerStammGen.WPF.Commands;
using SewerStammGen.WPF.ViewModel.State;
using Shared.Contracts;
using Shared.Domain;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
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 readonly ISchachtService _schachtService;
private Kanal _model;
public Kanal Model
{
get => _model;
set
{
_model = value;
}
}
public string _oberePunkt { get; set; }
public string _unterePunkt { get; set; }
public string ObereSchacht
{
get => _oberePunkt;
set
{
if (_oberePunkt != value)
{
_oberePunkt = value;
OnPropertyChanged();
}
}
}
public string UntereSchacht
{
get => _unterePunkt;
set
{
if (_unterePunkt != value)
{
_unterePunkt = value;
OnPropertyChanged();
}
}
}
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(
ISchachtService schachtService,
IActualState actualState)
{
_actualState = actualState;
//_kanalDataService = kanalDataService;
_schachtService = schachtService;
_model = new Kanal();
Speichern = new HaltungEditSaveCommand(this, schachtService);
LoadModel();
}
private async void LoadModel()
{
/*_model = await _kanalDataService.Get(_actualState.HaltungID);
UntereSchacht = _model.EndSchacht.Objektbezeichnung;
ObereSchacht = _model.StartSchacht.Objektbezeichnung;
OnPropertyChanged(nameof(ObereSchacht));
OnPropertyChanged(nameof(UntereSchacht));
OnPropertyChanged(nameof(Haltungslaenge));
OnPropertyChanged(nameof(Haltungsbezeichnung));
OnPropertyChanged(nameof(Material));
OnPropertyChanged(nameof(Durchmesser));
*/
}
}
}