Sewerdamages angefangen

This commit is contained in:
HuskyTeufel
2021-09-29 17:02:36 +02:00
parent f15d0b2983
commit 4789b5f252
14 changed files with 212 additions and 18 deletions

View File

@@ -13,15 +13,18 @@ namespace DaSaSo.ViewModel.Interface
event EventHandler? ProjectChanged;
event EventHandler? BuildingSiteChanged;
event EventHandler? SewerObjectChanged;
event EventHandler? SewerDamageChanged;
Client AktuellClient { get; }
Project AktuellProjekt { get; }
Buildingsite AktuellBaustelle { get; }
SewerObject AktuellSewerObject { get; }
SewerDamage AktuellSewerDamage { get; }
void SetClient(Client client, bool notification = true);
void SetProject(Project project, bool notification = true);
void SetBuildingSite(Buildingsite buildingsite);
void SetSewerObject(SewerObject sewerObject, bool notification = true);
void SetSewerDamage(SewerDamage sewerDamage, bool notification = true);
void ResetProject();
void ResetBuildingSite();
}

View File

@@ -13,6 +13,17 @@ namespace DaSaSo.ViewModel
{
private readonly IActualProject _actualProject;
private readonly IDataService<SewerObject> _dataService;
private SewerDamage _selectedDamage;
public SewerDamage SelectedDamage
{
get => _selectedDamage;
set
{
_selectedDamage = value;
_actualProject.SetSewerDamage(_selectedDamage);
OnPropertyChanged();
}
}
SewerObject _model;
public List<SewerDamage> Damages { get => _model.SewerDamages.ToList(); }
@@ -22,6 +33,7 @@ namespace DaSaSo.ViewModel
_actualProject = actualProject;
_dataService = dataService;
_model = _actualProject.AktuellSewerObject;
}
}

View File

@@ -38,7 +38,16 @@ namespace DaSaSo.ViewModel
}
}
}
string _schaden = "llooo";
public string Schaden
{
get => _schaden;
set
{
_schaden = value;
OnPropertyChanged();
}
}
public string Strasse { get => _actualProject.AktuellSewerObject.StreetName; }
public string AktualObject { get => _actualProject.AktuellSewerObject.ObjektName; }
@@ -56,6 +65,13 @@ namespace DaSaSo.ViewModel
LoadModel();
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
_actualProject.SewerDamageChanged += _actualProject_SewerDamageChanged;
}
private void _actualProject_SewerDamageChanged(object? sender, EventArgs e)
{
Schaden = _actualProject.AktuellSewerDamage.Distance.ToString();
OnPropertyChanged(nameof(Schaden));
}
private async void LoadModel()

View File

@@ -15,12 +15,15 @@ namespace DaSaSo.ViewModel.State.ActualState
public Project? AktuellProjekt { get; private set; }
public SewerObject? AktuellSewerObject { get; private set; }
public SewerDamage? AktuellSewerDamage { get; private set; }
#region events
public event EventHandler? ClientChanged;
public event EventHandler? ProjectChanged;
public event EventHandler? BuildingSiteChanged;
public event EventHandler? SewerObjectChanged;
public event EventHandler? SewerDamageChanged;
protected void OnClientChanged()
{
@@ -38,6 +41,10 @@ namespace DaSaSo.ViewModel.State.ActualState
{
SewerObjectChanged?.Invoke(this, new EventArgs());
}
protected void OnSewerDamageChanged()
{
SewerDamageChanged?.Invoke(this, new EventArgs());
}
#endregion
public void SetClient(Client client, bool notification = true)
{
@@ -77,5 +84,12 @@ namespace DaSaSo.ViewModel.State.ActualState
{
SetBuildingSite(null);
}
public void SetSewerDamage(SewerDamage sewerDamage, bool notification = true)
{
AktuellSewerDamage = sewerDamage;
if (notification)
OnSewerDamageChanged();
}
}
}