53 lines
2.2 KiB
C#
53 lines
2.2 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<ManholeEditViewModel> _createManholeEditViewModel;
|
|
private CreateViewModel<ManholeListViewModel> _createManholeListViewModel;
|
|
private CreateViewModel<SewerConnectorViewModel> _createSewerConnectorViewModel;
|
|
private CreateViewModel<ProjektListViewModel> _createProjektListViewModel;
|
|
|
|
public MainWindowViewModelFactory(
|
|
CreateViewModel<HomeViewModel> createHomeViewModel,
|
|
CreateViewModel<ManholeEditViewModel> createManholeEditViewModel,
|
|
CreateViewModel<ManholeListViewModel> createManholeListViewModel,
|
|
CreateViewModel<SewerConnectorViewModel> createSewerConnectorViewModel,
|
|
CreateViewModel<ProjektListViewModel> createProjektListViewModel
|
|
)
|
|
{
|
|
_createHomeViewModel = createHomeViewModel;
|
|
_createManholeEditViewModel = createManholeEditViewModel;
|
|
_createSewerConnectorViewModel = createSewerConnectorViewModel;
|
|
_createProjektListViewModel = createProjektListViewModel;
|
|
_createManholeListViewModel = createManholeListViewModel;
|
|
}
|
|
|
|
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
|
|
{
|
|
switch(viewType)
|
|
{
|
|
case EMainWindowViewType.Home: return _createHomeViewModel();
|
|
|
|
case EMainWindowViewType.SchachtList: return _createManholeListViewModel();
|
|
case EMainWindowViewType.SchachtEdit: return _createManholeEditViewModel();
|
|
|
|
case EMainWindowViewType.SewerConnectionEdit: return _createSewerConnectorViewModel();
|
|
|
|
case EMainWindowViewType.ProjectList: return _createProjektListViewModel();
|
|
|
|
default:
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|
|
}
|