Buildingsite list hinzugefügt

This commit is contained in:
HuskyTeufel
2021-09-15 20:06:55 +02:00
parent e0c9839275
commit 4123cc7aba
18 changed files with 754 additions and 33 deletions

View File

@@ -0,0 +1,45 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel
{
public class BuildingsiteListViewModel: BaseViewModel
{
public ObservableCollection<Buildingsite> Buildingsites { get; }
private readonly IActualProject _actualProject;
private readonly IRenavigator _renavigator;
private readonly BuildingsiteDataService _buildingSiteDataService;
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator)
{
_actualProject = actualProject;
_renavigator = renavigator;
_buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService;
Buildingsites = new ObservableCollection<Buildingsite>();
LoadBuildingsites();
}
private async void LoadBuildingsites()
{
var buildingsites = await _buildingSiteDataService.GetAllByProjekt(_actualProject.AktuellProjekt);
InitCollection(Buildingsites, buildingsites);
}
private void InitCollection(ObservableCollection<Buildingsite> target, IEnumerable<Buildingsite> source)
{
target.Clear();
foreach (var i in source)
target.Add(i);
}
}
}

View File

@@ -0,0 +1,27 @@
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Commands
{
public class SelectProjectCommand : AsyncCommandBase
{
private readonly IActualProject _actualProject;
private readonly ProjectListViewModel _projectListViewModel;
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
{
_actualProject = actualProject;
_projectListViewModel = projectListViewModel;
}
public override async Task ExecuteAsync(object? parameter)
{
var s = _projectListViewModel.SelectedProject;
_actualProject.SetProject(s);
}
}
}

View File

@@ -17,18 +17,20 @@ namespace DaSaSo.ViewModel.Factories
private CreateViewModel<ClientListViewModel> _createClientListViewModel;
private CreateViewModel<ClientEditViewModel> _createClientEditViewModel;
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
public ViewModelAbstractFactory(
CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<ClientListViewModel> createClientListViewModel,
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
CreateViewModel<ProjectListViewModel> createProjektListViewModel
)
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel)
{
_createHomeViewModel = createHomeViewModel;
_createClientListViewModel = createClientListViewModel;
_createClientEditViewModel = createClientEditViewModel;
_createProjektListViewModel = createProjektListViewModel;
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
}
public BaseViewModel CreateViewModel(EViewType viewType)
@@ -44,9 +46,9 @@ namespace DaSaSo.ViewModel.Factories
return _createClientEditViewModel();
case EViewType.Projects:
return _createProjektListViewModel();
/*case EViewType.Buildingsites:
break;
case EViewType.SewerObjects:
case EViewType.Buildingsites:
return _createBuildingsiteListViewModel();
/*case EViewType.SewerObjects:
break;
*/
default:

View File

@@ -1,6 +1,7 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
@@ -9,6 +10,7 @@ using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.ViewModel
{
@@ -19,15 +21,31 @@ namespace DaSaSo.ViewModel
private IActualProject actualProject;
private IRenavigator renavigator;
public ObservableCollection<Project> Projekte { get; }
private Project? _selectedProject;
public Project SelectedProject
{
get => _selectedProject;
set
{
if(_selectedProject != value)
{
_selectedProject = value;
OnPropertyChanged();
}
}
}
public ICommand SelectCommand { get; set; }
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator)
{
Projekte = new ObservableCollection<Project>();
if (genericDataService == null) throw new ArgumentNullException("genericDataService");
this.genericDataService = (genericDataService as ProjectDataService);
this.actualProject = actualProject;
this.renavigator = renavigator;
SelectCommand = new SelectProjectCommand(actualProject, this);
LoadProjecte();
}