51 lines
1.9 KiB
C#
51 lines
1.9 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 IViewModelFactory<HomeViewModel> _homeViewModelFactory;
|
|
private IViewModelFactory<ClientListViewModel> _clientListViewModelFactory;
|
|
private IViewModelFactory<ClientEditViewModel> _clientEditViewModelFactory;
|
|
|
|
public ViewModelAbstractFactory(IViewModelFactory<HomeViewModel> homeViewModelFactory, IViewModelFactory<ClientListViewModel> clientListViewModel, IViewModelFactory<ClientEditViewModel> clientEditViewModel)
|
|
{
|
|
_homeViewModelFactory = homeViewModelFactory;
|
|
_clientListViewModelFactory = clientListViewModel;
|
|
_clientEditViewModelFactory = clientEditViewModel;
|
|
}
|
|
|
|
public BaseViewModel CreateViewModel(EViewType viewType)
|
|
{
|
|
|
|
switch (viewType)
|
|
{
|
|
case EViewType.Home:
|
|
return _homeViewModelFactory.CreateViewModel();
|
|
case EViewType.Clients:
|
|
return _clientListViewModelFactory.CreateViewModel();
|
|
case EViewType.ClientEdit:
|
|
return _clientEditViewModelFactory.CreateViewModel();
|
|
/*case EViewType.Projects:
|
|
break;
|
|
case EViewType.Buildingsites:
|
|
break;
|
|
case EViewType.SewerObjects:
|
|
break;
|
|
*/
|
|
default:
|
|
throw new ArgumentException("The Viewtype dos not have a ViewModel.", "viewType");
|
|
}
|
|
}
|
|
}
|
|
}
|