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 _homeViewModelFactory; private IViewModelFactory _clientListViewModel; public ViewModelAbstractFactory(IViewModelFactory homeViewModelFactory, IViewModelFactory clientListViewModel) { _homeViewModelFactory = homeViewModelFactory; _clientListViewModel = clientListViewModel; } public BaseViewModel CreateViewModel(EViewType viewType) { switch (viewType) { case EViewType.Home: return _homeViewModelFactory.CreateViewModel(); case EViewType.Clients: return _clientListViewModel.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"); } } } }