49 lines
2.5 KiB
C#
49 lines
2.5 KiB
C#
using DaSaSo.Domain.Enums;
|
|
using DaSaSo.Wpf.ViewModel.Interface;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DaSaSo.Wpf.ViewModel.Factories
|
|
{
|
|
public class SewerWindowViewModelFactory : IViewModelSewerMainFactory
|
|
{
|
|
private CreateViewModel<SewerStammdatenViewModel> _createSewerStammdatenViewModel;
|
|
private CreateViewModel<SewerDamageListViewModel> _createSewerDamageListViewModel;
|
|
private CreateViewModel<SewerDamageEditViewModel> _createSewerDamageEditViewModel;
|
|
private CreateViewModel<SewerPipeLinerViewModel> _createSewerPipeLinerViewModel;
|
|
private CreateViewModel<SewerPictureDocumentationViewModel> _createSewerPictureDocumentationViewModel;
|
|
|
|
public SewerWindowViewModelFactory(
|
|
CreateViewModel<SewerStammdatenViewModel> createSewerStammdatenViewModel,
|
|
CreateViewModel<SewerDamageListViewModel> createSewerDamageListViewModel,
|
|
CreateViewModel<SewerDamageEditViewModel> createSewerDamageEditViewModel,
|
|
CreateViewModel<SewerPipeLinerViewModel> createSewerPipeLinerViewModel,
|
|
CreateViewModel<SewerPictureDocumentationViewModel> createSewerPictureDocumentationViewModel
|
|
)
|
|
{
|
|
_createSewerStammdatenViewModel = createSewerStammdatenViewModel;
|
|
_createSewerDamageListViewModel = createSewerDamageListViewModel;
|
|
_createSewerDamageEditViewModel = createSewerDamageEditViewModel;
|
|
_createSewerPipeLinerViewModel = createSewerPipeLinerViewModel;
|
|
_createSewerPictureDocumentationViewModel = createSewerPictureDocumentationViewModel;
|
|
}
|
|
|
|
public BaseViewModel CreateViewModel(ESewerWindowViewType viewType)
|
|
{
|
|
switch (viewType)
|
|
{
|
|
case ESewerWindowViewType.SewerStammdaten: return _createSewerStammdatenViewModel();
|
|
case ESewerWindowViewType.SewerDamageList: return _createSewerDamageListViewModel();
|
|
case ESewerWindowViewType.SewerDamageEdit: return _createSewerDamageEditViewModel();
|
|
case ESewerWindowViewType.SewerPipeLiner: return _createSewerPipeLinerViewModel();
|
|
case ESewerWindowViewType.SewerPictureDocumentation: return _createSewerPictureDocumentationViewModel();
|
|
default:
|
|
throw new ArgumentException("The Viewtype does not have a ViewModel", "viewType");
|
|
}
|
|
}
|
|
}
|
|
}
|