Files
SewerGenerator/SewerStammGen/ViewModel/Factories/MainWindowViewModelFactory.cs

47 lines
1.6 KiB
C#

using SewerStammGen.Enum;
using SewerStammGen.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SewerStammGen.ViewModel.Factories
{
public class MainWindowViewModelFactory : IViewModelAbstractFactory
{
private CreateViewModel<HomeViewModel> _createHomeViewModel;
private CreateViewModel<EditManHoleViewModel> _createEditManholeViewModel;
private CreateViewModel<SewerConnectorViewModel> _createSewerConnectorViewModel;
public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<EditManHoleViewModel> createEditManholeViewModel,
CreateViewModel<SewerConnectorViewModel> createSewerConnectorViewModel
)
{
_createHomeViewModel = createHomeViewModel;
_createEditManholeViewModel = createEditManholeViewModel;
_createSewerConnectorViewModel = createSewerConnectorViewModel;
}
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
{
switch(viewType)
{
case EMainWindowViewType.Home:
return _createHomeViewModel();
case EMainWindowViewType.EditSchacht:
return _createEditManholeViewModel();
case EMainWindowViewType.SewerConnectionEdit:
return _createSewerConnectorViewModel();
default:
throw new NotImplementedException();
}
}
}
}