Files
DaSaSo/DaSaSo.ViewModel/Factories/SewerWindowViewModelFactory.cs
2021-11-29 10:34:29 +01:00

49 lines
2.5 KiB
C#

using DaSaSo.Domain.Enums;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.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");
}
}
}
}