Ohne Syncfusion

This commit is contained in:
2023-04-11 19:09:28 +02:00
parent d9e3fdb793
commit c4fd240f59
10 changed files with 107 additions and 107 deletions

View File

@@ -1,4 +1,5 @@
using SewerStammGen.Shared.Contracts;
using SewerStammGen.WPF.Commands;
using SewerStammGen.WPF.ViewModel.State;
using Shared.Contracts;
using Shared.Domain;
@@ -17,41 +18,48 @@ namespace SewerStammGen.WPF.ViewModel
{
private readonly IActualState _actualState;
private readonly IHaltungDataService _kanalDataService;
private readonly ISchachtService _schachtService;
private Kanal _model;
private ObservableCollection<Schacht> _verfuegbareSchaechte;
public ObservableCollection<Schacht> VerfuegbareSchaechte
public Kanal Model
{
get => _verfuegbareSchaechte;
}
public Schacht ObereSchacht
{
get => _model.StartSchacht;
get => _model;
set
{
if(_model.StartSchacht != value)
_model = value;
}
}
public string _oberePunkt { get; set; }
public string _unterePunkt { get; set; }
public string ObereSchacht
{
get => _oberePunkt;
set
{
if (_oberePunkt != value)
{
_model.StartSchacht = value;
_oberePunkt = value;
OnPropertyChanged();
}
}
}
public Schacht UntereSchacht
public string UntereSchacht
{
get => _model.EndSchacht;
get => _unterePunkt;
set
{
if(_model.EndSchacht != value)
if (_unterePunkt != value)
{
_model.EndSchacht = value;
_unterePunkt = value;
OnPropertyChanged();
}
}
}
public string Haltungsbezeichnung
{
@@ -104,44 +112,26 @@ namespace SewerStammGen.WPF.ViewModel
public ICommand Speichern { get; set; }
public HaltungEditViewModel(IHaltungDataService kanalDataService,
ISchachtDataService schachtDataService,
public HaltungEditViewModel(IHaltungDataService kanalDataService,
ISchachtService schachtService,
IActualState actualState)
{
_actualState = actualState;
_kanalDataService = kanalDataService;
_verfuegbareSchaechte = new ObservableCollection<Schacht>();
_schachtService = schachtService;
_model = new Kanal();
Speichern = new RelayCommand((x) => SaveKanal());
Speichern = new HaltungEditSaveCommand(this, kanalDataService, schachtService);
LoadModel();
LoadSchaechte(schachtDataService);
}
private async void LoadSchaechte(ISchachtDataService schachtDataService)
{
var s = await schachtDataService.GetAll(_actualState.ProjektID);
InitCollection(_verfuegbareSchaechte, s);
}
private void InitCollection(ObservableCollection<Schacht> dst, IEnumerable<Schacht> src)
{
dst.Clear();
foreach (var srcItem in src) {
dst.Add(srcItem);
}
OnPropertyChanged(nameof(VerfuegbareSchaechte));
}
private void SaveKanal()
{
_kanalDataService.Update(_model.Id, _model);
}
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));