Buildingsite list hinzugefügt
This commit is contained in:
45
DaSaSo.ViewModel/BuildingsiteListViewModel.cs
Normal file
45
DaSaSo.ViewModel/BuildingsiteListViewModel.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
DaSaSo.ViewModel/Commands/SelectProjectCommand.cs
Normal file
27
DaSaSo.ViewModel/Commands/SelectProjectCommand.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user