Haltungen können hinzugefügt werden

vorbereitungen für Haltungmainview angefangen
This commit is contained in:
HuskyTeufel
2021-09-23 13:55:54 +02:00
parent e23f898f14
commit 56feac58bb
20 changed files with 341 additions and 16 deletions

View File

@@ -7,6 +7,7 @@
ClientEdit, ClientEdit,
Projects, Projects,
Buildingsites, Buildingsites,
SewerObjects SewerObjects,
SewerMainMenu
} }
} }

View File

@@ -0,0 +1,14 @@
using DaSaSo.Domain.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.Domain.Services.SewerObjectService
{
public interface ISewerObjectService
{
Task<SewerObject> CreateSewerObject(Buildingsite aktuellBaustelle);
}
}

View File

@@ -0,0 +1,30 @@
using DaSaSo.Domain.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.Domain.Services.SewerObjectService
{
public class SewerObjectService : ISewerObjectService
{
private readonly IDataService<Buildingsite> _buildingsiteService;
public SewerObjectService(IDataService<Buildingsite> buildingsiteService)
{
_buildingsiteService = buildingsiteService;
}
public async Task<SewerObject> CreateSewerObject(Buildingsite aktuellBaustelle)
{
SewerObject sewerObject = new SewerObject()
{
BuildingSite = aktuellBaustelle
};
aktuellBaustelle.SewerObjects.Add(sewerObject);
await _buildingsiteService.Update(aktuellBaustelle.Id, aktuellBaustelle);
return sewerObject;
}
}
}

View File

@@ -0,0 +1,81 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.BuildingsiteServices;
using DaSaSo.ViewModel.Interface;
using Microsoft.Toolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.ViewModel
{
public class BuildingsiteEditViewModel : BaseViewModel
{
private readonly IDataService<Buildingsite> _buildingsiteService;
private readonly IActualProject _actualProject;
private readonly IRenavigator _renavigator;
private readonly Buildingsite _model;
public Buildingsite Model
{
get => _model;
}
public string BuildingNumber
{
get => _model.BuildingSiteNumber;
set
{
if(_model.BuildingSiteNumber != value)
{
_model.BuildingSiteNumber = value;
OnPropertyChanged();
}
}
}
public string Country
{
get => _model.Country;
set
{
if(_model.Country != value)
{
_model.Country = value;
OnPropertyChanged();
}
}
}
public string Contactperson
{
get => _model.ContactPerson;
set
{
if (_model.ContactPerson != value)
{
_model.ContactPerson = value;
OnPropertyChanged();
}
}
}
public IRelayCommand SaveBuildingsiteCommand { get; set; }
public BuildingsiteEditViewModel(IDataService<Buildingsite> buildingsiteService, IActualProject actualProject, IRenavigator renavigator)
{
_buildingsiteService = buildingsiteService;
_actualProject = actualProject;
_renavigator = renavigator;
_model = actualProject.AktuellBaustelle;
SaveBuildingsiteCommand = new RelayCommand(SaveBuildingsite);
}
private void SaveBuildingsite()
{
_buildingsiteService.Update(Model.Id, Model);
//_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService,_actualProject,_renavigator))
}
}
}

View File

@@ -39,6 +39,7 @@ namespace DaSaSo.ViewModel
public ICommand SelectCommand { get; set; } public ICommand SelectCommand { get; set; }
public ICommand AddCommand { get; set; } public ICommand AddCommand { get; set; }
public ICommand EditCommand { get; set; }
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService) public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
{ {
@@ -46,6 +47,7 @@ namespace DaSaSo.ViewModel
_renavigator = renavigator; _renavigator = renavigator;
_buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService; _buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService;
Buildingsites = new ObservableCollection<Buildingsite>(); Buildingsites = new ObservableCollection<Buildingsite>();
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
SelectCommand = new SelectBuildingsiteCommand(actualProject, this); SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
AddCommand = new AddBuildingsiteCommand(actualProject, buildingsiteService); AddCommand = new AddBuildingsiteCommand(actualProject, buildingsiteService);
LoadBuildingsites(); LoadBuildingsites();

View File

@@ -0,0 +1,28 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services.SewerObjectService;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Commands
{
public class AddSewerObjectCommand : AsyncCommandBase
{
private IActualProject _actualProject;
private ISewerObjectService _sewerObjectService;
public AddSewerObjectCommand(IActualProject actualProject, ISewerObjectService sewerObjectService)
{
_actualProject = actualProject;
_sewerObjectService = sewerObjectService;
}
public override async Task ExecuteAsync(object? parameter)
{
SewerObject sewerobject = await _sewerObjectService.CreateSewerObject(_actualProject.AktuellBaustelle);
}
}
}

View File

@@ -0,0 +1,36 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.BuildingsiteServices;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Commands
{
public class EditBuildingsiteCommand : AsyncCommandBase
{
private IDataService<Buildingsite> buildingSiteDataService;
private IActualProject actualProject;
private IRenavigator renavigator;
private IBuildingsiteService buildingsiteService;
private BuildingsiteListViewModel buildingsiteListViewModel;
public EditBuildingsiteCommand(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator, IBuildingsiteService buildingsiteService, BuildingsiteListViewModel buildingsiteListViewModel)
{
this.buildingSiteDataService = buildingSiteDataService;
this.actualProject = actualProject;
this.renavigator = renavigator;
this.buildingsiteService = buildingsiteService;
this.buildingsiteListViewModel = buildingsiteListViewModel;
}
public override async Task ExecuteAsync(object? parameter)
{
actualProject.SetBuildingSite(buildingsiteListViewModel.SelectedBuildingsite);
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
}
}
}

View File

@@ -0,0 +1,29 @@
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.Commands
{
public class SelectSewerObjectCommand : AsyncCommandBase
{
private readonly IActualProject _actualProject;
private readonly SewerObjectListViewModel _sewerObjectListViewModel;
public SelectSewerObjectCommand(IActualProject actualProject, SewerObjectListViewModel sewerObjectListViewModel)
{
_actualProject = actualProject;
_sewerObjectListViewModel = sewerObjectListViewModel;
}
public override async Task ExecuteAsync(object? parameter)
{
SewerObject? selectedSewer = _sewerObjectListViewModel.GetSelectedSewer();
if (selectedSewer == null) return;
_actualProject.SetSewerObject(selectedSewer);
}
}
}

View File

@@ -11,13 +11,17 @@ namespace DaSaSo.ViewModel.Factories
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel; private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel; private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel; private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
private CreateViewModel<SewerMainMenuListViewModel> _createSewerMainMenuListViewModel;
public MainWindowViewModelFactory( public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel, CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<ClientListViewModel> createClientListViewModel, CreateViewModel<ClientListViewModel> createClientListViewModel,
CreateViewModel<ClientEditViewModel> createClientEditViewModel, CreateViewModel<ClientEditViewModel> createClientEditViewModel,
CreateViewModel<ProjectListViewModel> createProjektListViewModel, CreateViewModel<ProjectListViewModel> createProjektListViewModel,
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel, CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel) CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel,
CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel,
CreateViewModel<SewerMainMenuListViewModel> createSewerMainMenuListViewModel
)
{ {
_createHomeViewModel = createHomeViewModel; _createHomeViewModel = createHomeViewModel;
_createClientListViewModel = createClientListViewModel; _createClientListViewModel = createClientListViewModel;
@@ -25,6 +29,7 @@ namespace DaSaSo.ViewModel.Factories
_createProjektListViewModel = createProjektListViewModel; _createProjektListViewModel = createProjektListViewModel;
_createBuildingsiteListViewModel = createBuildingsiteListViewModel; _createBuildingsiteListViewModel = createBuildingsiteListViewModel;
_createSewerObjectListViewModel = createSewerObjectListViewModel; _createSewerObjectListViewModel = createSewerObjectListViewModel;
_createSewerMainMenuListViewModel = createSewerMainMenuListViewModel;
} }
public BaseViewModel CreateViewModel(EMainWindowViewType viewType) public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
@@ -44,6 +49,8 @@ namespace DaSaSo.ViewModel.Factories
return _createBuildingsiteListViewModel(); return _createBuildingsiteListViewModel();
case EMainWindowViewType.SewerObjects: case EMainWindowViewType.SewerObjects:
return _createSewerObjectListViewModel(); return _createSewerObjectListViewModel();
case EMainWindowViewType.SewerMainMenu:
return _createSewerMainMenuListViewModel();
default: default:
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType"); throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel
{
public class SewerMainMenuListViewModel : BaseViewModel
{
}
}

View File

@@ -1,8 +1,10 @@
using DaSaSo.Domain.DesignModel; using DaSaSo.Domain.DesignModel;
using DaSaSo.Domain.Model; using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services; using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.SewerObjectService;
using DaSaSo.EntityFramework.Services; using DaSaSo.EntityFramework.Services;
using DaSaSo.InMemoryProvider; using DaSaSo.InMemoryProvider;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface; using DaSaSo.ViewModel.Interface;
using Microsoft.Toolkit.Mvvm.Input; using Microsoft.Toolkit.Mvvm.Input;
using System; using System;
@@ -20,26 +22,23 @@ namespace DaSaSo.ViewModel
{ {
private readonly SewerObjectDataService _sewerObjectDataService; private readonly SewerObjectDataService _sewerObjectDataService;
private readonly IActualProject _actualProject; private readonly IActualProject _actualProject;
private readonly ISewerObjectService _sewerObjectService;
public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; } public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; }
public object Testme { get; set; } public object Testme { get; set; }
public ICommand Bearbeiten { get; set; } public ICommand EditCommand { get; set; }
public ICommand AddCommand { get; set; }
public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject) public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject, ISewerObjectService sewerObjectService)
{ {
SewerObjects = new ObservableCollection<SewerObjectsToStreet>(); SewerObjects = new ObservableCollection<SewerObjectsToStreet>();
this._sewerObjectDataService = (sewerObjectDataService as SewerObjectDataService); this._sewerObjectDataService = (sewerObjectDataService as SewerObjectDataService);
_sewerObjectService = sewerObjectService;
this._actualProject = actualProject; this._actualProject = actualProject;
LoadSewerObjects(); LoadSewerObjects();
Bearbeiten = new RelayCommand(function); EditCommand = new SelectSewerObjectCommand(actualProject, this);
} AddCommand = new AddSewerObjectCommand(actualProject, sewerObjectService);
private void function()
{
SewerObject? SelectedSewer = GetSelectedSewer();
if (SelectedSewer == null) return;
Debugger.Break();
} }
public SewerObject? GetSelectedSewer() public SewerObject? GetSelectedSewer()
@@ -63,6 +62,7 @@ namespace DaSaSo.ViewModel
private async void LoadSewerObjects() private async void LoadSewerObjects()
{ {
//BUG: Streetname can be null, programm Terminate
IEnumerable<SewerObject>? sewerobjects = await _sewerObjectDataService.GetAllByBuildingsite(_actualProject.AktuellBaustelle); IEnumerable<SewerObject>? sewerobjects = await _sewerObjectDataService.GetAllByBuildingsite(_actualProject.AktuellBaustelle);
List<SewerObject> _sewers = sewerobjects.ToList(); List<SewerObject> _sewers = sewerobjects.ToList();

View File

@@ -34,6 +34,10 @@ namespace DaSaSo.ViewModel.State.ActualState
{ {
BuildingSiteChanged?.Invoke(this, new EventArgs()); BuildingSiteChanged?.Invoke(this, new EventArgs());
} }
protected void OnSewerObjectChanged()
{
SewerObjectChanged?.Invoke(this, new EventArgs());
}
#endregion #endregion
public void SetClient(Client client) public void SetClient(Client client)
{ {
@@ -57,9 +61,10 @@ namespace DaSaSo.ViewModel.State.ActualState
public void SetSewerObject(SewerObject sewerObject) public void SetSewerObject(SewerObject sewerObject)
{ {
AktuellSewerObject = sewerObject; AktuellSewerObject = sewerObject;
OnSewerObjectChanged();
} }
public void ResetProject() public void ResetProject()
{ {
SetProject(null); SetProject(null);

View File

@@ -83,11 +83,17 @@ namespace DaSaSo.ViewModel
_actualProject.ClientChanged += _actualProject_ClientChanged; _actualProject.ClientChanged += _actualProject_ClientChanged;
_actualProject.ProjectChanged += _actualProject_ProjectChanged; _actualProject.ProjectChanged += _actualProject_ProjectChanged;
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged; _actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
}
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
{
throw new NotImplementedException();
} }
private void _navigator_StateChanged() private void _navigator_StateChanged()
{ {
OnPropertyChanged(nameof(CurrentViewModel)); UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerMainMenu);
} }
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e) private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)

View File

@@ -2,6 +2,7 @@
using DaSaSo.Domain.Services; using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.BuildingsiteServices; using DaSaSo.Domain.Services.BuildingsiteServices;
using DaSaSo.Domain.Services.ProjectServices; using DaSaSo.Domain.Services.ProjectServices;
using DaSaSo.Domain.Services.SewerObjectService;
using DaSaSo.EntityFramework; using DaSaSo.EntityFramework;
using DaSaSo.EntityFramework.Services; using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel; using DaSaSo.ViewModel;
@@ -50,6 +51,7 @@ namespace DaSaSo.Wpf
services.AddSingleton<ClientListViewModel>(); services.AddSingleton<ClientListViewModel>();
services.AddSingleton<IProjectService, ProjectService>(); services.AddSingleton<IProjectService, ProjectService>();
services.AddSingleton<IBuildingsiteService, BuildingsiteService>(); services.AddSingleton<IBuildingsiteService, BuildingsiteService>();
services.AddSingleton<ISewerObjectService, SewerObjectService>();
services.AddSingleton<IViewModelAbstractFactory, MainWindowViewModelFactory>(); services.AddSingleton<IViewModelAbstractFactory, MainWindowViewModelFactory>();
@@ -103,7 +105,8 @@ namespace DaSaSo.Wpf
{ {
return () => new SewerObjectListViewModel( return () => new SewerObjectListViewModel(
services.GetRequiredService<IDataService<SewerObject>>(), services.GetRequiredService<IDataService<SewerObject>>(),
services.GetRequiredService<IActualProject>() services.GetRequiredService<IActualProject>(),
services.GetRequiredService<ISewerObjectService>()
); );
}); });

View File

@@ -13,6 +13,9 @@
<Compile Update="Controls\SewerObjectNavigationBar.xaml.cs"> <Compile Update="Controls\SewerObjectNavigationBar.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Update="View\Buildingsites\BuildingSiteEditView.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="View\Buildingsites\BuildingSiteListView.xaml.cs"> <Compile Update="View\Buildingsites\BuildingSiteListView.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
@@ -51,6 +54,9 @@
<Page Update="Styles\Navigation_Style.xaml"> <Page Update="Styles\Navigation_Style.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Update="View\Buildingsites\BuildingSiteEditView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="View\Buildingsites\BuildingSiteListView.xaml"> <Page Update="View\Buildingsites\BuildingSiteListView.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>

View File

@@ -0,0 +1,31 @@
<UserControl x:Class="DaSaSo.Wpf.View.Buildingsites.BuildingSiteEditView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:DaSaSo.Wpf.View.Buildingsites" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:BuildingsiteEditViewModel}"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Baustellennummer" />
<Label Grid.Column="0" Grid.Row="1" Content="Ort" />
<Label Grid.Column="0" Grid.Row="2" Content="Ansprechpartner" />
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding BuildingNumber}" />
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Country}" />
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Contactperson}" />
</Grid>
<Button Content="Speichern" Command="{Binding SaveBuildingsiteCommand}" />
</StackPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DaSaSo.Wpf.View.Buildingsites
{
/// <summary>
/// Interaction logic for BuildingSiteEditView.xaml
/// </summary>
public partial class BuildingSiteEditView : UserControl
{
public BuildingSiteEditView()
{
InitializeComponent();
}
}
}

View File

@@ -11,6 +11,7 @@
<DataGrid ItemsSource="{Binding Buildingsites}" SelectedItem="{Binding SelectedBuildingsite}" /> <DataGrid ItemsSource="{Binding Buildingsites}" SelectedItem="{Binding SelectedBuildingsite}" />
<Button Content="Selektiere" Command="{Binding SelectCommand}" /> <Button Content="Selektiere" Command="{Binding SelectCommand}" />
<Button Content="Hinzufügen" Command="{Binding AddCommand}" /> <Button Content="Hinzufügen" Command="{Binding AddCommand}" />
<Button Content="Bearbeiten" Command="{Binding EditCommand}" />
</StackPanel> </StackPanel>
</Grid> </Grid>
</UserControl> </UserControl>

View File

@@ -25,6 +25,7 @@
<DataTemplate DataType="{x:Type model:SewerObject}"> <DataTemplate DataType="{x:Type model:SewerObject}">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ObjektName}" />
<TextBlock Text="{Binding Material}" /> <TextBlock Text="{Binding Material}" />
</StackPanel> </StackPanel>
</DataTemplate> </DataTemplate>
@@ -33,7 +34,8 @@
</Style> </Style>
</TreeView.Resources> </TreeView.Resources>
</TreeView> </TreeView>
<Button Content="Bearbeiten" Name="bearbeiten" Command="{Binding Bearbeiten}" /> <Button Content="Bearbeiten" Name="bearbeiten" Command="{Binding EditCommand}" />
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
</StackPanel> </StackPanel>
</Grid> </Grid>
</UserControl> </UserControl>

View File

@@ -31,6 +31,9 @@
<DataTemplate DataType="{x:Type viewmodel:BuildingsiteListViewModel}"> <DataTemplate DataType="{x:Type viewmodel:BuildingsiteListViewModel}">
<BuildingsiteViews:BuildingSiteListView /> <BuildingsiteViews:BuildingSiteListView />
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type viewmodel:BuildingsiteEditViewModel}">
<BuildingsiteViews:BuildingSiteEditView />
</DataTemplate>
<DataTemplate DataType="{x:Type viewmodel:SewerObjectListViewModel}"> <DataTemplate DataType="{x:Type viewmodel:SewerObjectListViewModel}">
<SewerObjectViews:SewerObjecteListView /> <SewerObjectViews:SewerObjecteListView />
</DataTemplate> </DataTemplate>