Client wird gespeichert mittels interface

This commit is contained in:
HuskyTeufel
2021-09-14 19:08:55 +02:00
parent 8eccf7c478
commit bbffb270bc
13 changed files with 149 additions and 70 deletions

View File

@@ -0,0 +1,27 @@
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 ClientEditViewModelFactory : IViewModelFactory<ClientEditViewModel>
{
private readonly IActualProject _actualProject;
public ClientEditViewModelFactory(IActualProject actualProject)
{
_actualProject = actualProject;
}
public ClientEditViewModel CreateViewModel()
{
return new ClientEditViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()), _actualProject);
}
}
}

View File

@@ -12,9 +12,16 @@ namespace DaSaSo.ViewModel.Factories
{
public class ClientListViewModelFactory : IViewModelFactory<ClientListViewModel>
{
private readonly IActualProject _actualProject;
public ClientListViewModelFactory(IActualProject actualProject)
{
_actualProject = actualProject;
}
public ClientListViewModel CreateViewModel()
{
return new ClientListViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()));
return new ClientListViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()),_actualProject);
}
}
}

View File

@@ -14,12 +14,14 @@ namespace DaSaSo.ViewModel.Factories
public class ViewModelAbstractFactory : IViewModelAbstractFactory
{
private IViewModelFactory<HomeViewModel> _homeViewModelFactory;
private IViewModelFactory<ClientListViewModel> _clientListViewModel;
private IViewModelFactory<ClientListViewModel> _clientListViewModelFactory;
private IViewModelFactory<ClientEditViewModel> _clientEditViewModelFactory;
public ViewModelAbstractFactory(IViewModelFactory<HomeViewModel> homeViewModelFactory, IViewModelFactory<ClientListViewModel> clientListViewModel)
public ViewModelAbstractFactory(IViewModelFactory<HomeViewModel> homeViewModelFactory, IViewModelFactory<ClientListViewModel> clientListViewModel, IViewModelFactory<ClientEditViewModel> clientEditViewModel)
{
_homeViewModelFactory = homeViewModelFactory;
_clientListViewModel = clientListViewModel;
_clientListViewModelFactory = clientListViewModel;
_clientEditViewModelFactory = clientEditViewModel;
}
public BaseViewModel CreateViewModel(EViewType viewType)
@@ -30,7 +32,9 @@ namespace DaSaSo.ViewModel.Factories
case EViewType.Home:
return _homeViewModelFactory.CreateViewModel();
case EViewType.Clients:
return _clientListViewModel.CreateViewModel();
return _clientListViewModelFactory.CreateViewModel();
case EViewType.ClientEdit:
return _clientEditViewModelFactory.CreateViewModel();
/*case EViewType.Projects:
break;
case EViewType.Buildingsites: