using DaSaSo.Domain.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 SewerWindowViewModelFactory : IViewModelSewerMainFactory { private CreateViewModel _createSewerStammdatenViewModel; private CreateViewModel _createSewerDamageListViewModel; public SewerWindowViewModelFactory( CreateViewModel createSewerStammdatenViewModel, CreateViewModel createSewerDamageListViewModel ) { _createSewerStammdatenViewModel = createSewerStammdatenViewModel; _createSewerDamageListViewModel = createSewerDamageListViewModel; } public BaseViewModel CreateViewModel(ESewerWindowViewType viewType) { switch (viewType) { case ESewerWindowViewType.SewerStammdaten: return _createSewerStammdatenViewModel(); case ESewerWindowViewType.SewerDamageList: return _createSewerDamageListViewModel(); default: throw new ArgumentException("The Viewtype does not have a ViewModel", "viewType"); } } } }