60 lines
2.4 KiB
C#
60 lines
2.4 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 ViewModelAbstractFactory : IViewModelAbstractFactory
|
|
{
|
|
private CreateViewModel<HomeViewModel> _createHomeViewModel;
|
|
private CreateViewModel<ClientListViewModel> _createClientListViewModel;
|
|
private CreateViewModel<ClientEditViewModel> _createClientEditViewModel;
|
|
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
|
|
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
|
|
|
|
public ViewModelAbstractFactory(
|
|
CreateViewModel<HomeViewModel> createHomeViewModel,
|
|
CreateViewModel<ClientListViewModel> createClientListViewModel,
|
|
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
|
|
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
|
|
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel)
|
|
{
|
|
_createHomeViewModel = createHomeViewModel;
|
|
_createClientListViewModel = createClientListViewModel;
|
|
_createClientEditViewModel = createClientEditViewModel;
|
|
_createProjektListViewModel = createProjektListViewModel;
|
|
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
|
|
}
|
|
|
|
public BaseViewModel CreateViewModel(EViewType viewType)
|
|
{
|
|
|
|
switch (viewType)
|
|
{
|
|
case EViewType.Home:
|
|
return _createHomeViewModel();
|
|
case EViewType.Clients:
|
|
return _createClientListViewModel();
|
|
case EViewType.ClientEdit:
|
|
return _createClientEditViewModel();
|
|
case EViewType.Projects:
|
|
return _createProjektListViewModel();
|
|
case EViewType.Buildingsites:
|
|
return _createBuildingsiteListViewModel();
|
|
/*case EViewType.SewerObjects:
|
|
break;
|
|
*/
|
|
default:
|
|
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");
|
|
}
|
|
}
|
|
}
|
|
}
|