Refactoring durchgeführt

This commit is contained in:
HuskyTeufel
2021-09-14 17:08:06 +02:00
parent 6b2ed0d5ab
commit 8eccf7c478
24 changed files with 430 additions and 57 deletions

View File

@@ -0,0 +1,20 @@
using DaSaSo.Domain.Model;
using DaSaSo.EntityFramework;
using DaSaSo.EntityFramework.Services;
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 ClientListViewModelFactory : IViewModelFactory<ClientListViewModel>
{
public ClientListViewModel CreateViewModel()
{
return new ClientListViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()));
}
}
}

View File

@@ -0,0 +1,17 @@
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 HomeViewModelFactory : IViewModelFactory<HomeViewModel>
{
public HomeViewModel CreateViewModel()
{
return new HomeViewModel();
}
}
}

View File

@@ -0,0 +1,46 @@
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> _clientListViewModel;
public ViewModelAbstractFactory(IViewModelFactory<HomeViewModel> homeViewModelFactory, IViewModelFactory<ClientListViewModel> 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");
}
}
}
}