Leitungen können nun bearbeitet werden

This commit is contained in:
HuskyTeufel
2021-09-28 10:46:16 +02:00
parent d9f34cbf90
commit e8674fed2c
43 changed files with 790 additions and 93 deletions

View File

@@ -1,4 +1,9 @@
using DaSaSo.ViewModel.Commands;
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.SewerObjectService;
using DaSaSo.Domain.Services.SewerPointServices;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface;
using Microsoft.Toolkit.Mvvm.Input;
using System;
@@ -13,16 +18,49 @@ namespace DaSaSo.ViewModel
public class SewerMainListViewModel : BaseViewModel
{
private ISewerMainNavigator _navigator { get; set; }
private readonly SewerObjectDataService _dataservice;
private readonly ISewerObjectService _sewerObjectService;
private readonly IRenavigator _renavigator;
private IActualProject _actualProject { get; set; }
public ICommand UpdateCurrentSewerViewModelCommand { get; }
public ICommand SaveCommand { get; set; }
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
public SewerMainListViewModel(ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory)
public bool IsLoading
{
get => _isLoading;
set
{
if (_isLoading != value)
{
_isLoading = value;
OnPropertyChanged();
}
}
}
bool _isLoading = true;
public bool CanSaveSewer => !string.IsNullOrEmpty(_actualProject.AktuellSewerObject.StreetName);
public SewerMainListViewModel(IDataService<SewerObject> dataService, ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory, IRenavigator renavigator, ISewerObjectService sewerObjectService, ISewerpointService sewerpointService)
{
_navigator = navigator;
_actualProject = actualProject;
_dataservice = (SewerObjectDataService)dataService;
_renavigator = renavigator;
_sewerObjectService = sewerObjectService;
SaveCommand = new SaveSewerCommand(this,dataService,actualProject,sewerObjectService,renavigator,sewerpointService,navigator); //RelayCommand(SaveSewer);
LoadModel();
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
}
private async void LoadModel()
{
IsLoading = true;
SewerObject sewer = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
_actualProject.SetSewerObject(sewer,false);
IsLoading = false;
}
}
}