Files
DaSaSo/DaSaSo.ViewModel/Factories/ViewModelAbstractFactory.cs
2021-09-15 17:21:56 +02:00

58 lines
2.1 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;
public ViewModelAbstractFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<ClientListViewModel> createClientListViewModel/*,
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
CreateViewModel<ProjectListViewModel> createProjektListViewModel*/
)
{
_createHomeViewModel = createHomeViewModel;
_createClientListViewModel = createClientListViewModel;
/*_createClientEditViewModel = createClientEditViewModel;
_createProjektListViewModel = createProjektListViewModel;*/
}
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:
break;
case EViewType.SewerObjects:
break;
*/
default:
throw new ArgumentException("The Viewtype dos not have a ViewModel.", "viewType");
}
}
}
}