Files
SewerGenerator/SewerStammGen/ViewModel/Factories/MainWindowViewModelFactory.cs
2023-03-29 16:41:34 +02:00

52 lines
1.9 KiB
C#

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