63 lines
2.8 KiB
C#
63 lines
2.8 KiB
C#
using StammGenerator;
|
|
using StammGenerator.Enum;
|
|
using StammGenerator.Interface;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace StammGenerator.ViewModel.Factories
|
|
{
|
|
public class MainWindowViewModelFactory : IViewModelAbstractFactory
|
|
{
|
|
private CreateViewModel<HomeViewModel> _createHomeViewModel;
|
|
private CreateViewModel<ManholeEditViewModel> _createManholeEditViewModel;
|
|
private CreateViewModel<ManholeListViewModel> _createManholeListViewModel;
|
|
private CreateViewModel<HaltungListViewModel> _createHaltungListViewModel;
|
|
//private CreateViewModel<SewerConnectorViewModel> _createSewerConnectorViewModel;
|
|
private CreateViewModel<ProjektListViewModel> _createProjektListViewModel;
|
|
private CreateViewModel<AuftraggeberListViewModel> _createAuftraggeberListViewModel;
|
|
|
|
public MainWindowViewModelFactory(
|
|
CreateViewModel<HomeViewModel> createHomeViewModel,
|
|
CreateViewModel<ManholeEditViewModel> createManholeEditViewModel,
|
|
CreateViewModel<ManholeListViewModel> createManholeListViewModel,
|
|
CreateViewModel<HaltungListViewModel> createHaltungListViewModel,
|
|
|
|
CreateViewModel<ProjektListViewModel> createProjektListViewModel,
|
|
CreateViewModel<AuftraggeberListViewModel> createAuftraggeberListViewModel
|
|
)
|
|
{
|
|
_createHomeViewModel = createHomeViewModel;
|
|
_createManholeEditViewModel = createManholeEditViewModel;
|
|
//_createSewerConnectorViewModel = createSewerConnectorViewModel;
|
|
_createProjektListViewModel = createProjektListViewModel;
|
|
_createManholeListViewModel = createManholeListViewModel;
|
|
_createHaltungListViewModel = createHaltungListViewModel;
|
|
_createAuftraggeberListViewModel = createAuftraggeberListViewModel;
|
|
}
|
|
|
|
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
|
|
{
|
|
switch(viewType)
|
|
{
|
|
case EMainWindowViewType.Home: return _createHomeViewModel();
|
|
|
|
case EMainWindowViewType.SchachtList: return _createManholeListViewModel();
|
|
case EMainWindowViewType.SchachtEdit: return _createManholeEditViewModel();
|
|
|
|
case EMainWindowViewType.HaltungList: return _createHaltungListViewModel();
|
|
//case EMainWindowViewType.SewerConnectionEdit: return _createSewerConnectorViewModel();
|
|
|
|
case EMainWindowViewType.ProjectList: return _createProjektListViewModel();
|
|
|
|
case EMainWindowViewType.AuftraggeberList: return _createAuftraggeberListViewModel();
|
|
|
|
default:
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|
|
}
|