62 lines
2.8 KiB
C#
62 lines
2.8 KiB
C#
using DaSaSo.Domain.Model;
|
|
using DaSaSo.EntityFramework;
|
|
using DaSaSo.EntityFramework.Services;
|
|
using DaSaSo.ViewModel.Enums;
|
|
using DaSaSo.ViewModel.Interface;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
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");
|
|
}
|
|
}
|
|
}
|
|
}
|