Kanalschaden werden richtig geparsed

This commit is contained in:
HuskyTeufel
2021-09-30 16:27:28 +02:00
parent 9da7090883
commit 98494be3cf
37 changed files with 576 additions and 136 deletions

View File

@@ -17,14 +17,15 @@ namespace DaSaSo.ViewModel
{
public class SewerMainListViewModel : BaseViewModel
{
private ISewerMainNavigator _navigator { get; set; }
private ISewerMainNavigator Navigator { get; set; }
private readonly SewerObjectDataService _dataservice;
private readonly ISewerObjectService _sewerObjectService;
private readonly IRenavigator _renavigator;
private IActualProject _actualProject { get; set; }
private IActualProject ActualProject { get; set; }
public ICommand UpdateCurrentSewerViewModelCommand { get; }
public ICommand CloseCommand { get; set; }
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
public ICommand SchadenCommand { get; set; }
public BaseViewModel CurrentSewerViewModel => Navigator.CurrentViewModel;
public bool IsLoading
{
@@ -38,8 +39,8 @@ namespace DaSaSo.ViewModel
}
}
}
string _schaden = "llooo";
public string Schaden
private SewerDamage _schaden;
public SewerDamage Schaden
{
get => _schaden;
set
@@ -48,43 +49,54 @@ namespace DaSaSo.ViewModel
OnPropertyChanged();
}
}
public string Strasse { get => _actualProject.AktuellSewerObject.StreetName; }
public string AktualObject { get => _actualProject.AktuellSewerObject.ObjektName; }
public string Strasse { get => ActualProject.AktuellSewerObject.StreetName; }
public string AktualObject { get => ActualProject.AktuellSewerObject.ObjektName; }
bool _isLoading = true;
public bool CanSaveSewer => !string.IsNullOrEmpty(_actualProject.AktuellSewerObject.StreetName);
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)
public SewerMainListViewModel(
IDataService<SewerObject> dataService,
ISewerMainNavigator navigator,
IActualProject actualProject,
IViewModelSewerMainFactory viewModelFactory,
IRenavigator renavigator,
ISewerObjectService sewerObjectService,
ISewerpointService sewerpointService
)
{
_navigator = navigator;
_actualProject = actualProject;
Navigator = navigator;
ActualProject = actualProject;
_dataservice = (SewerObjectDataService)dataService;
_renavigator = renavigator;
_sewerObjectService = sewerObjectService;
CloseCommand = new SaveSewerCommand(_dataservice,_actualProject,_sewerObjectService,_renavigator,_navigator); //RelayCommand(SaveSewer);
CloseCommand = new SaveSewerCommand(_dataservice,ActualProject,_sewerObjectService,_renavigator,Navigator); //RelayCommand(SaveSewer);
LoadModel();
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
_actualProject.SewerDamageChanged += _actualProject_SewerDamageChanged;
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(Navigator, viewModelFactory);
Navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
ActualProject.SewerDamageChanged += ActualProject_SewerDamageChanged;
//SchadenCommand = UpdateCurrentSewerViewModelCommand.Execute(); // new SelectDamageCommand(this);
}
private void _actualProject_SewerDamageChanged(object? sender, EventArgs e)
private void ActualProject_SewerDamageChanged(object? sender, EventArgs e)
{
Schaden = _actualProject.AktuellSewerDamage.Distance.ToString();
Schaden = ActualProject.AktuellSewerDamage;
OnPropertyChanged(nameof(Schaden));
}
private async void LoadModel()
{
IsLoading = true;
SewerObject sewer = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
_actualProject.SetSewerObject(sewer,false);
SewerObject sewer = await _dataservice.Get(ActualProject.AktuellSewerObject.Id);
ActualProject.SetSewerObject(sewer,false);
IsLoading = false;
}
public override void Dispose()
{
_navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
Navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
base.Dispose();
}
}