Files
DaSaSo/DaSaSo.ViewModel/Factories/MainWindowViewModelFactory.cs
HuskyTeufel ea3352db79 Enum verschoben zur Domain
Datenbank converter angefangen
2021-09-20 13:45:24 +02:00

54 lines
2.5 KiB
C#

using DaSaSo.Domain.Enums;
using DaSaSo.ViewModel.Interface;
namespace DaSaSo.ViewModel.Factories
{
public class MainWindowViewModelFactory : IViewModelAbstractFactory
{
private CreateViewModel<HomeViewModel> _createHomeViewModel;
private CreateViewModel<ClientListViewModel> _createClientListViewModel;
private CreateViewModel<ClientEditViewModel> _createClientEditViewModel;
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<ClientListViewModel> createClientListViewModel,
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel, CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel)
{
_createHomeViewModel = createHomeViewModel;
_createClientListViewModel = createClientListViewModel;
_createClientEditViewModel = createClientEditViewModel;
_createProjektListViewModel = createProjektListViewModel;
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
_createSewerObjectListViewModel = createSewerObjectListViewModel;
}
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
{
switch (viewType)
{
case EMainWindowViewType.Home:
return _createHomeViewModel();
case EMainWindowViewType.Clients:
return _createClientListViewModel();
case EMainWindowViewType.ClientEdit:
return _createClientEditViewModel();
case EMainWindowViewType.Projects:
return _createProjektListViewModel();
case EMainWindowViewType.Buildingsites:
return _createBuildingsiteListViewModel();
case EMainWindowViewType.SewerObjects:
return _createSewerObjectListViewModel();
default:
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");
}
}
}
}