Haltungen können hinzugefügt werden
vorbereitungen für Haltungmainview angefangen
This commit is contained in:
81
DaSaSo.ViewModel/BuildingsiteEditViewModel.cs
Normal file
81
DaSaSo.ViewModel/BuildingsiteEditViewModel.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class BuildingsiteEditViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IDataService<Buildingsite> _buildingsiteService;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly Buildingsite _model;
|
||||
|
||||
public Buildingsite Model
|
||||
{
|
||||
get => _model;
|
||||
}
|
||||
|
||||
public string BuildingNumber
|
||||
{
|
||||
get => _model.BuildingSiteNumber;
|
||||
set
|
||||
{
|
||||
if(_model.BuildingSiteNumber != value)
|
||||
{
|
||||
_model.BuildingSiteNumber = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Country
|
||||
{
|
||||
get => _model.Country;
|
||||
set
|
||||
{
|
||||
if(_model.Country != value)
|
||||
{
|
||||
_model.Country = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Contactperson
|
||||
{
|
||||
get => _model.ContactPerson;
|
||||
set
|
||||
{
|
||||
if (_model.ContactPerson != value)
|
||||
{
|
||||
_model.ContactPerson = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public IRelayCommand SaveBuildingsiteCommand { get; set; }
|
||||
public BuildingsiteEditViewModel(IDataService<Buildingsite> buildingsiteService, IActualProject actualProject, IRenavigator renavigator)
|
||||
{
|
||||
_buildingsiteService = buildingsiteService;
|
||||
_actualProject = actualProject;
|
||||
_renavigator = renavigator;
|
||||
_model = actualProject.AktuellBaustelle;
|
||||
|
||||
SaveBuildingsiteCommand = new RelayCommand(SaveBuildingsite);
|
||||
}
|
||||
|
||||
private void SaveBuildingsite()
|
||||
{
|
||||
_buildingsiteService.Update(Model.Id, Model);
|
||||
//_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService,_actualProject,_renavigator))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,7 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
public ICommand SelectCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
|
||||
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
|
||||
{
|
||||
@@ -46,6 +47,7 @@ namespace DaSaSo.ViewModel
|
||||
_renavigator = renavigator;
|
||||
_buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService;
|
||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||
AddCommand = new AddBuildingsiteCommand(actualProject, buildingsiteService);
|
||||
LoadBuildingsites();
|
||||
|
||||
28
DaSaSo.ViewModel/Commands/AddSewerObjectCommand.cs
Normal file
28
DaSaSo.ViewModel/Commands/AddSewerObjectCommand.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
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 AddSewerObjectCommand : AsyncCommandBase
|
||||
{
|
||||
private IActualProject _actualProject;
|
||||
private ISewerObjectService _sewerObjectService;
|
||||
|
||||
public AddSewerObjectCommand(IActualProject actualProject, ISewerObjectService sewerObjectService)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
SewerObject sewerobject = await _sewerObjectService.CreateSewerObject(_actualProject.AktuellBaustelle);
|
||||
}
|
||||
}
|
||||
}
|
||||
36
DaSaSo.ViewModel/Commands/EditBuildingsiteCommand.cs
Normal file
36
DaSaSo.ViewModel/Commands/EditBuildingsiteCommand.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||
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 EditBuildingsiteCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Buildingsite> buildingSiteDataService;
|
||||
private IActualProject actualProject;
|
||||
private IRenavigator renavigator;
|
||||
private IBuildingsiteService buildingsiteService;
|
||||
private BuildingsiteListViewModel buildingsiteListViewModel;
|
||||
|
||||
public EditBuildingsiteCommand(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator, IBuildingsiteService buildingsiteService, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||
{
|
||||
this.buildingSiteDataService = buildingSiteDataService;
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this.buildingsiteService = buildingsiteService;
|
||||
this.buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetBuildingSite(buildingsiteListViewModel.SelectedBuildingsite);
|
||||
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
|
||||
}
|
||||
}
|
||||
}
|
||||
29
DaSaSo.ViewModel/Commands/SelectSewerObjectCommand.cs
Normal file
29
DaSaSo.ViewModel/Commands/SelectSewerObjectCommand.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
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 SelectSewerObjectCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly SewerObjectListViewModel _sewerObjectListViewModel;
|
||||
|
||||
public SelectSewerObjectCommand(IActualProject actualProject, SewerObjectListViewModel sewerObjectListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_sewerObjectListViewModel = sewerObjectListViewModel;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
SewerObject? selectedSewer = _sewerObjectListViewModel.GetSelectedSewer();
|
||||
if (selectedSewer == null) return;
|
||||
_actualProject.SetSewerObject(selectedSewer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,17 @@ namespace DaSaSo.ViewModel.Factories
|
||||
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
|
||||
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
|
||||
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
|
||||
private CreateViewModel<SewerMainMenuListViewModel> _createSewerMainMenuListViewModel;
|
||||
|
||||
public MainWindowViewModelFactory(
|
||||
CreateViewModel<HomeViewModel> createHomeViewModel,
|
||||
CreateViewModel<ClientListViewModel> createClientListViewModel,
|
||||
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
|
||||
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
|
||||
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel, CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel)
|
||||
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel,
|
||||
CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel,
|
||||
CreateViewModel<SewerMainMenuListViewModel> createSewerMainMenuListViewModel
|
||||
)
|
||||
{
|
||||
_createHomeViewModel = createHomeViewModel;
|
||||
_createClientListViewModel = createClientListViewModel;
|
||||
@@ -25,6 +29,7 @@ namespace DaSaSo.ViewModel.Factories
|
||||
_createProjektListViewModel = createProjektListViewModel;
|
||||
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
|
||||
_createSewerObjectListViewModel = createSewerObjectListViewModel;
|
||||
_createSewerMainMenuListViewModel = createSewerMainMenuListViewModel;
|
||||
}
|
||||
|
||||
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
|
||||
@@ -44,6 +49,8 @@ namespace DaSaSo.ViewModel.Factories
|
||||
return _createBuildingsiteListViewModel();
|
||||
case EMainWindowViewType.SewerObjects:
|
||||
return _createSewerObjectListViewModel();
|
||||
case EMainWindowViewType.SewerMainMenu:
|
||||
return _createSewerMainMenuListViewModel();
|
||||
|
||||
default:
|
||||
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");
|
||||
|
||||
12
DaSaSo.ViewModel/SewerMainMenuListViewModel.cs
Normal file
12
DaSaSo.ViewModel/SewerMainMenuListViewModel.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerMainMenuListViewModel : BaseViewModel
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
using DaSaSo.Domain.DesignModel;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.InMemoryProvider;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
@@ -20,26 +22,23 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
private readonly SewerObjectDataService _sewerObjectDataService;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; }
|
||||
public object Testme { get; set; }
|
||||
public ICommand Bearbeiten { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
|
||||
public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject)
|
||||
public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject, ISewerObjectService sewerObjectService)
|
||||
{
|
||||
SewerObjects = new ObservableCollection<SewerObjectsToStreet>();
|
||||
this._sewerObjectDataService = (sewerObjectDataService as SewerObjectDataService);
|
||||
_sewerObjectService = sewerObjectService;
|
||||
this._actualProject = actualProject;
|
||||
|
||||
LoadSewerObjects();
|
||||
Bearbeiten = new RelayCommand(function);
|
||||
}
|
||||
EditCommand = new SelectSewerObjectCommand(actualProject, this);
|
||||
AddCommand = new AddSewerObjectCommand(actualProject, sewerObjectService);
|
||||
|
||||
private void function()
|
||||
{
|
||||
SewerObject? SelectedSewer = GetSelectedSewer();
|
||||
if (SelectedSewer == null) return;
|
||||
|
||||
Debugger.Break();
|
||||
}
|
||||
|
||||
public SewerObject? GetSelectedSewer()
|
||||
@@ -63,6 +62,7 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
private async void LoadSewerObjects()
|
||||
{
|
||||
//BUG: Streetname can be null, programm Terminate
|
||||
IEnumerable<SewerObject>? sewerobjects = await _sewerObjectDataService.GetAllByBuildingsite(_actualProject.AktuellBaustelle);
|
||||
List<SewerObject> _sewers = sewerobjects.ToList();
|
||||
|
||||
|
||||
@@ -34,6 +34,10 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
{
|
||||
BuildingSiteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
protected void OnSewerObjectChanged()
|
||||
{
|
||||
SewerObjectChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
#endregion
|
||||
public void SetClient(Client client)
|
||||
{
|
||||
@@ -57,9 +61,10 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
public void SetSewerObject(SewerObject sewerObject)
|
||||
{
|
||||
AktuellSewerObject = sewerObject;
|
||||
|
||||
OnSewerObjectChanged();
|
||||
}
|
||||
|
||||
|
||||
public void ResetProject()
|
||||
{
|
||||
SetProject(null);
|
||||
|
||||
@@ -83,11 +83,17 @@ namespace DaSaSo.ViewModel
|
||||
_actualProject.ClientChanged += _actualProject_ClientChanged;
|
||||
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
||||
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
|
||||
}
|
||||
|
||||
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void _navigator_StateChanged()
|
||||
{
|
||||
OnPropertyChanged(nameof(CurrentViewModel));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerMainMenu);
|
||||
}
|
||||
|
||||
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user