Files
DaSaSo/DaSaSo.ViewModel/State/ActualState/ActualProject.cs
2021-09-17 13:32:07 +02:00

74 lines
1.9 KiB
C#

using DaSaSo.Domain.Model;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.State.ActualState
{
public class ActualProject : IActualProject
{
public Client? AktuellClient { get; private set; }
public Buildingsite? AktuellBaustelle { get; private set; }
public Project? AktuellProjekt { get; private set; }
public SewerObject? AktuellSewerObject { get; private set; }
#region events
public event EventHandler? ClientChanged;
public event EventHandler? ProjectChanged;
public event EventHandler? BuildingSiteChanged;
public event EventHandler? SewerObjectChanged;
protected void OnClientChanged()
{
ClientChanged?.Invoke(this, new EventArgs());
}
protected void OnProjectChanged()
{
ProjectChanged?.Invoke(this, new EventArgs());
}
protected void OnBuildingSiteChanged()
{
BuildingSiteChanged?.Invoke(this, new EventArgs());
}
#endregion
public void SetClient(Client client)
{
AktuellClient = client;
OnClientChanged();
}
public void SetProject(Project project)
{
AktuellProjekt = project;
OnProjectChanged();
}
public void SetBuildingSite(Buildingsite buildingsite)
{
AktuellBaustelle = buildingsite;
OnBuildingSiteChanged();
}
public void SetSewerObject(SewerObject sewerObject)
{
AktuellSewerObject = sewerObject;
}
public void ResetProject()
{
SetProject(null);
ResetBuildingSite();
}
public void ResetBuildingSite()
{
SetBuildingSite(null);
}
}
}