viewmodel ins wpf gepackt, build failed
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public delegate TViewModel CreateViewModel<TViewModel>() where TViewModel : BaseViewModel;
|
||||
public class BaseViewModel : ObservableObject
|
||||
{
|
||||
public virtual void Dispose() { }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
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(SaveBuildingsiteAsync);
|
||||
}
|
||||
|
||||
private async void SaveBuildingsiteAsync()
|
||||
{
|
||||
await _buildingsiteService.Update(Model.Id, Model);
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class BuildingsiteListViewModel: BaseViewModel
|
||||
{
|
||||
public ObservableCollection<Buildingsite> Buildingsites { get; }
|
||||
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly BuildingsiteDataService _buildingSiteDataService;
|
||||
private Buildingsite? _selectedBuildingsite;
|
||||
|
||||
public Buildingsite? SelectedBuildingsite
|
||||
{
|
||||
get => _selectedBuildingsite;
|
||||
set
|
||||
{
|
||||
if(_selectedBuildingsite != value)
|
||||
{
|
||||
_selectedBuildingsite = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectBuildingsite));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand SelectCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public bool CanSelectBuildingsite => SelectedBuildingsite != null;
|
||||
|
||||
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_renavigator = renavigator;
|
||||
_buildingSiteDataService = (BuildingsiteDataService)buildingSiteDataService;
|
||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||
AddCommand = new AddBuildingsiteCommand(buildingSiteDataService, actualProject, buildingsiteService,renavigator);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ClientEditViewModel : BaseViewModel
|
||||
{
|
||||
private Client _model;
|
||||
private readonly IDataService<Client> _dataService;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator renavigator;
|
||||
|
||||
public Client Model { get => _model; set => _model = value; }
|
||||
|
||||
public IRelayCommand SaveClientCommand { get; set; }
|
||||
|
||||
|
||||
public ClientEditViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
||||
{
|
||||
this._dataService = dataService;
|
||||
SaveClientCommand = new RelayCommand(SaveClient);
|
||||
_actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this._model = _actualProject.AktuellClient;
|
||||
}
|
||||
|
||||
private async void SaveClient()
|
||||
{
|
||||
await _dataService.Update(Model.Id, Model);
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ClientListViewModel : BaseViewModel
|
||||
{
|
||||
public ObservableCollection<Client> Clients { get; }
|
||||
private Client? _selectedClient;
|
||||
private readonly IDataService<Client> _dataService;
|
||||
bool _isLoading = true;
|
||||
|
||||
public ICommand EditCommand { get; set; }
|
||||
public ICommand AddNewClientCommand { get; set; }
|
||||
|
||||
public Client SelectedClient
|
||||
{
|
||||
get => _selectedClient;
|
||||
set
|
||||
{
|
||||
if(_selectedClient != value)
|
||||
{
|
||||
_selectedClient = value;
|
||||
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectClient));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsLoading
|
||||
{
|
||||
get => _isLoading;
|
||||
set
|
||||
{
|
||||
if(_isLoading != value)
|
||||
{
|
||||
_isLoading = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanSelectClient => _selectedClient != null;
|
||||
|
||||
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator editRenavigator)
|
||||
{
|
||||
Clients = new ObservableCollection<Client>();
|
||||
_dataService = dataService;
|
||||
|
||||
LoadClient();
|
||||
|
||||
EditCommand = new EditClientCommand(_dataService,actualProject, editRenavigator, this);
|
||||
AddNewClientCommand = new AddClientCommand(_dataService, actualProject, editRenavigator, this);
|
||||
|
||||
}
|
||||
|
||||
public async void LoadClient()
|
||||
{
|
||||
IsLoading = true;
|
||||
var clients = await _dataService.GetAll();
|
||||
//
|
||||
InitCollection(Clients, clients);
|
||||
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
private static void InitCollection(ObservableCollection<Client> target, IEnumerable<Client> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
target.Add(i);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
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 AddBuildingsiteCommand: AsyncCommandBase
|
||||
{
|
||||
private IActualProject _actualProject;
|
||||
private IBuildingsiteService _buildingsiteService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly IDataService<Buildingsite> _dataservice;
|
||||
public AddBuildingsiteCommand(IDataService<Buildingsite> dataService, IActualProject actualProject, IBuildingsiteService buildingsiteService, IRenavigator renavigator)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_buildingsiteService = buildingsiteService;
|
||||
_dataservice = dataService;
|
||||
_renavigator = renavigator;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Buildingsite buildingsite = await _buildingsiteService.CreateBuildingsite(_actualProject.AktuellProjekt);
|
||||
_actualProject.SetBuildingSite(buildingsite);
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
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 AddClientCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IDataService<Client> dataservice;
|
||||
private readonly IActualProject actualProject;
|
||||
private readonly IRenavigator renavigator;
|
||||
private readonly ClientListViewModel clientListViewModel;
|
||||
|
||||
public AddClientCommand(IDataService<Client> dataservice, IActualProject actualProject, IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
||||
{
|
||||
this.dataservice = dataservice;
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this.clientListViewModel = clientListViewModel;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
|
||||
Client newClient = await dataservice.Create(new Client());
|
||||
actualProject.SetClient(newClient,false);
|
||||
//actualProject.SetClient(clientListViewModel.SelectedClient);
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class AddDamageCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualProject actualProject;
|
||||
private readonly IRenavigator addedNavigator;
|
||||
|
||||
|
||||
public AddDamageCommand(IActualProject actualProject, IRenavigator addedNavigator)
|
||||
{
|
||||
this.actualProject = actualProject;
|
||||
this.addedNavigator = addedNavigator;
|
||||
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
SewerDamage newSewerDamage = new SewerDamage();
|
||||
//newSewerDamage.SewerObject = actualProject.AktuellSewerObject; // Führt zur Exception, dass EF versucht doppelte einträge vorzunehmen
|
||||
|
||||
actualProject.AktuellSewerObject.SewerDamages.Add(newSewerDamage);
|
||||
SewerDamage? lastInsertedDamage = actualProject.AktuellSewerObject.SewerDamages.Last();
|
||||
lastInsertedDamage.SewerObject = actualProject.AktuellSewerObject;
|
||||
actualProject.SetSewerDamage(lastInsertedDamage);
|
||||
|
||||
|
||||
//addedNavigator.Renavigate(); // Bug führt zur generellen umnavigation...
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
internal class AddImpregnationCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Impregnation> impregnationService;
|
||||
private IRenavigator editRenavigator;
|
||||
|
||||
public AddImpregnationCommand(IDataService<Impregnation> impregnationService, IRenavigator editRenavigator)
|
||||
{
|
||||
this.impregnationService = impregnationService;
|
||||
this.editRenavigator = editRenavigator;
|
||||
}
|
||||
|
||||
public override Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.ProjectServices;
|
||||
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 AddProjectCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IProjectService _projectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly IDataService<Project> _genericDataService;
|
||||
|
||||
|
||||
public AddProjectCommand(IDataService<Project> genericDataService, IActualProject actualProject, IProjectService projectService, IRenavigator renavigator)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_projectService = projectService;
|
||||
_renavigator = renavigator;
|
||||
_genericDataService = genericDataService;
|
||||
}
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Project pro = await _projectService.CreateProject();
|
||||
_actualProject.SetProject(pro);
|
||||
_renavigator.Renavigate();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
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);
|
||||
_actualProject.SetSewerObject(sewerobject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public abstract class AsyncCommandBase : ICommand
|
||||
{
|
||||
bool _isExecuting = false;
|
||||
public event EventHandler? CanExecuteChanged;
|
||||
|
||||
public bool IsExecuting
|
||||
{
|
||||
get => _isExecuting;
|
||||
set
|
||||
{
|
||||
_isExecuting = value;
|
||||
CanExecuteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnCanExecuteChanged()
|
||||
{
|
||||
CanExecuteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
|
||||
|
||||
public virtual bool CanExecute(object? parameter)
|
||||
{
|
||||
return !IsExecuting;
|
||||
}
|
||||
|
||||
public async void Execute(object? parameter)
|
||||
{
|
||||
IsExecuting = true;
|
||||
await ExecuteAsync(parameter);
|
||||
IsExecuting = false;
|
||||
}
|
||||
|
||||
public abstract Task ExecuteAsync(object? parameter);
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
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.ComponentModel;
|
||||
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 override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||
}
|
||||
|
||||
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;
|
||||
_buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
_buildingsiteListViewModel.PropertyChanged += BuildingsiteListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void BuildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetBuildingSite(_buildingsiteListViewModel.SelectedBuildingsite);
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class EditClientCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IDataService<Client> dataservice;
|
||||
private readonly IActualProject actualProject;
|
||||
private readonly IRenavigator renavigator;
|
||||
private readonly ClientListViewModel _clientListViewModel;
|
||||
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _clientListViewModel.CanSelectClient;
|
||||
}
|
||||
|
||||
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
||||
{
|
||||
this.dataservice = dataservice;
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this._clientListViewModel = clientListViewModel;
|
||||
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||
|
||||
}
|
||||
|
||||
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||
{
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetClient(_clientListViewModel.SelectedClient);
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
internal class EditImpregnationCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Impregnation> _impregnationService;
|
||||
private ImpregnierungListViewModel _impregnierungListViewModel;
|
||||
private IRenavigator _editRenavigator;
|
||||
private IActualProject _actualProject;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _impregnierungListViewModel.SelectedImpregnation != null;
|
||||
}
|
||||
|
||||
public EditImpregnationCommand(
|
||||
IDataService<Impregnation> impregnationService,
|
||||
ImpregnierungListViewModel impregnierungListViewModel,
|
||||
IActualProject actualProject,
|
||||
IRenavigator editRenavigator)
|
||||
{
|
||||
_impregnationService = impregnationService;
|
||||
_impregnierungListViewModel = impregnierungListViewModel;
|
||||
_actualProject = actualProject;
|
||||
_editRenavigator = editRenavigator;
|
||||
_impregnierungListViewModel.PropertyChanged += _impregnierungListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _impregnierungListViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_impregnierungListViewModel.CanSelectImpregnation))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_actualProject.SetImpregnation(_impregnierungListViewModel.SelectedImpregnation);
|
||||
_editRenavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.ProjectServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class EditProjectCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Project> _dataService;
|
||||
private IActualProject _actualProject;
|
||||
private IRenavigator _renavigator;
|
||||
private readonly IProjectService _projectService;
|
||||
private ProjectListViewModel _projectListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _projectListViewModel.SelectedProject != null;
|
||||
}
|
||||
|
||||
public EditProjectCommand(IDataService<Project> dataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService, ProjectListViewModel projectListViewModel)
|
||||
{
|
||||
this._dataService = dataService;
|
||||
this._actualProject = actualProject;
|
||||
this._renavigator = renavigator;
|
||||
this._projectService = projectService;
|
||||
this._projectListViewModel = projectListViewModel;
|
||||
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_actualProject.SetProject(_projectListViewModel.SelectedProject);
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
internal class SaveImpregnationCommand : AsyncCommandBase
|
||||
{
|
||||
private IDataService<Impregnation> _impregnationService;
|
||||
private ImpregnierungEditViewModel _impregnationEditViewModel;
|
||||
|
||||
public SaveImpregnationCommand(ImpregnierungEditViewModel impregnierungEditViewModel, IDataService<Impregnation> dataService)
|
||||
{
|
||||
_impregnationService = dataService;
|
||||
_impregnationEditViewModel = impregnierungEditViewModel;
|
||||
}
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_impregnationEditViewModel.Model = await _impregnationService.Update(_impregnationEditViewModel.Model.Id, _impregnationEditViewModel.Model);
|
||||
Trace.WriteLine("Daten gespeichert");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class SaveSewerCommand : AsyncCommandBase
|
||||
{
|
||||
|
||||
private IDataService<SewerObject> _dataService;
|
||||
private IActualProject _actualProject;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly ISewerMainNavigator _navigator;
|
||||
|
||||
public SaveSewerCommand(
|
||||
|
||||
IDataService<SewerObject> dataService,
|
||||
IActualProject actualProject,
|
||||
ISewerObjectService sewerObjectService,
|
||||
IRenavigator renavigator,
|
||||
ISewerMainNavigator navigator)
|
||||
{
|
||||
|
||||
_dataService = dataService;
|
||||
|
||||
_actualProject = actualProject;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
_renavigator = renavigator;
|
||||
_navigator = navigator;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Trace.WriteLine(_actualProject.AktuellSewerObject.IsChanged);
|
||||
_navigator.CurrentViewModel = null;
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class SaveSewerStammdatenCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly SewerStammdatenViewModel _stammdatenViewModel;
|
||||
private IDataService<SewerObject> _dataService;
|
||||
private readonly ISewerpointService _sewerPointService;
|
||||
|
||||
public SaveSewerStammdatenCommand(SewerStammdatenViewModel stammdatenViewModel, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
|
||||
{
|
||||
_stammdatenViewModel = stammdatenViewModel;
|
||||
_dataService = dataService;
|
||||
_sewerPointService = sewerpointService;
|
||||
}
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
if (_stammdatenViewModel._oberepunkt != null)
|
||||
{
|
||||
if ((_stammdatenViewModel.Model.PunktOben == null) || (_stammdatenViewModel._oberepunkt != _stammdatenViewModel.Model.PunktOben.Objektnummer))
|
||||
{
|
||||
SewerPoint punktOben = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._oberepunkt);
|
||||
_stammdatenViewModel.Model.PunktOben = punktOben;
|
||||
}
|
||||
}
|
||||
if (_stammdatenViewModel._unterepunkt != null)
|
||||
{
|
||||
if ((_stammdatenViewModel.Model.PunktUnten == null) || (_stammdatenViewModel._unterepunkt != _stammdatenViewModel.Model.PunktUnten.Objektnummer))
|
||||
{
|
||||
SewerPoint punktUnten = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._unterepunkt);
|
||||
_stammdatenViewModel.Model.PunktUnten = punktUnten;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
_stammdatenViewModel.Model = await _dataService.Update(_stammdatenViewModel.Model.Id, _stammdatenViewModel.Model);
|
||||
Trace.WriteLine("Daten gespeichert");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class SelectBuildingsiteCommand : AsyncCommandBase
|
||||
{
|
||||
private IActualProject _actualProject;
|
||||
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||
}
|
||||
|
||||
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||
{
|
||||
this._actualProject = actualProject;
|
||||
this._buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
_buildingsiteListViewModel.PropertyChanged += _buildingsiteListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _buildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var s = _buildingsiteListViewModel.SelectedBuildingsite;
|
||||
_actualProject.SetBuildingSite(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class SelectClientCommand : AsyncCommandBase
|
||||
{
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ClientListViewModel _clientListViewModel;
|
||||
private readonly IDataService<Client> _dataservice;
|
||||
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _clientListViewModel.CanSelectClient;
|
||||
}
|
||||
public SelectClientCommand(
|
||||
IDataService<Client> dataService,
|
||||
IActualProject actualProject,
|
||||
ClientListViewModel clientListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_clientListViewModel = clientListViewModel;
|
||||
_clientListViewModel.PropertyChanged += ClientListViewModel_PropertyChanged;
|
||||
_dataservice = dataService;
|
||||
}
|
||||
|
||||
private void ClientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||
{
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Client? _selectedClient = _clientListViewModel.SelectedClient;
|
||||
if (_selectedClient == null) return;
|
||||
_selectedClient = await _dataservice.Get(_selectedClient.Id);
|
||||
_actualProject.SetClient(_selectedClient);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class SelectDamageCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly SewerMainListViewModel _sewerMainListViewModel;
|
||||
|
||||
public SelectDamageCommand(SewerMainListViewModel sewerMainListViewModel)
|
||||
{
|
||||
_sewerMainListViewModel = sewerMainListViewModel;
|
||||
}
|
||||
|
||||
public override Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var d = _sewerMainListViewModel;
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
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 override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _projectListViewModel.SelectedProject != null;
|
||||
}
|
||||
|
||||
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_projectListViewModel = projectListViewModel;
|
||||
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var s = _projectListViewModel.SelectedProject;
|
||||
_actualProject.SetProject(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class UpdateCurrentSewerViewModelCommand : AsyncCommandBase
|
||||
{
|
||||
private INavigator _navigator;
|
||||
private readonly IViewModelSewerMainFactory _viewModelFactory;
|
||||
|
||||
public UpdateCurrentSewerViewModelCommand(INavigator navigator, IViewModelSewerMainFactory viewModelFactory)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_viewModelFactory = viewModelFactory;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
if (parameter is ESewerWindowViewType)
|
||||
{
|
||||
ESewerWindowViewType viewType = (ESewerWindowViewType)parameter;
|
||||
_navigator.CurrentViewModel = _viewModelFactory.CreateViewModel(viewType);
|
||||
//throw new NotImplementedException(parameter.GetType().ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using DaSaSo.ViewModel.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
class UpdateCurrentViewModelCommand : AsyncCommandBase
|
||||
{
|
||||
private INavigator _navigator;
|
||||
private readonly IViewModelAbstractFactory _viewModelFactory;
|
||||
|
||||
public UpdateCurrentViewModelCommand(INavigator navigator, IViewModelAbstractFactory viewModelFactory)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_viewModelFactory = viewModelFactory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
if(parameter is EMainWindowViewType)
|
||||
{
|
||||
EMainWindowViewType viewType = (EMainWindowViewType)parameter;
|
||||
_navigator.CurrentViewModel = _viewModelFactory.CreateViewModel(viewType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Controls
|
||||
{
|
||||
public class SewerDamageControllViewModel : BaseViewModel
|
||||
{
|
||||
public bool Riss { get; set; }
|
||||
public bool Bruch { get; set; }
|
||||
public bool Scherbe { get; set; }
|
||||
public bool Wurzel { get; set; }
|
||||
public bool Inkrustation { get; set; }
|
||||
public bool Ablagerungen { get; set; }
|
||||
public bool EinrageneStutzen { get; set; }
|
||||
public bool Infiltration { get; set; }
|
||||
public SewerDamageControllViewModel(EDamageType damageType)
|
||||
{
|
||||
Riss = damageType.HasFlag(EDamageType.Riss);
|
||||
Bruch = damageType.HasFlag(EDamageType.Bruch);
|
||||
Scherbe = damageType.HasFlag(EDamageType.Scherbe);
|
||||
|
||||
Wurzel = damageType.HasFlag(EDamageType.Wurzel);
|
||||
Inkrustation = damageType.HasFlag(EDamageType.Inkrustation);
|
||||
Ablagerungen = damageType.HasFlag(EDamageType.Ablagerung);
|
||||
|
||||
EinrageneStutzen = damageType.HasFlag(EDamageType.EinrageneStutzen);
|
||||
Infiltration = damageType.HasFlag(EDamageType.Infiltration);
|
||||
}
|
||||
|
||||
public EDamageType CalculateDamageFlags()
|
||||
{
|
||||
EDamageType result = EDamageType.NONE;
|
||||
if (Riss) result |= EDamageType.Riss;
|
||||
if (Bruch) result |= EDamageType.Bruch;
|
||||
if (Scherbe) result |= EDamageType.Scherbe;
|
||||
if (Wurzel) result |= EDamageType.Wurzel;
|
||||
if (Inkrustation) result |= EDamageType.Inkrustation;
|
||||
if (Ablagerungen) result |= EDamageType.Ablagerung;
|
||||
if (EinrageneStutzen) result |= EDamageType.EinrageneStutzen;
|
||||
if (Infiltration) result |= EDamageType.Infiltration;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Controls
|
||||
{
|
||||
public class SewerPreperationControllViewModel : BaseViewModel
|
||||
{
|
||||
public bool HD { get; set; }
|
||||
public bool Mechanisch { get; set; }
|
||||
public bool Roboter { get; set; }
|
||||
public bool Faekalienfrei { get; set; }
|
||||
public bool Genehmigung { get; set; }
|
||||
public bool WaterBaried { get; set; }
|
||||
public bool STVO { get; set; }
|
||||
|
||||
public SewerPreperationControllViewModel(EPreparationType preparationType)
|
||||
{
|
||||
HD = preparationType.HasFlag(EPreparationType.CleanedHD);
|
||||
Mechanisch = preparationType.HasFlag(EPreparationType.CleanedMechanisch);
|
||||
Roboter = preparationType.HasFlag(EPreparationType.CleanedRoboter);
|
||||
Faekalienfrei = preparationType.HasFlag(EPreparationType.FaekalienFrei);
|
||||
Genehmigung = preparationType.HasFlag(EPreparationType.PermitNeeded);
|
||||
WaterBaried = preparationType.HasFlag(EPreparationType.WaterBaried);
|
||||
STVO = preparationType.HasFlag(EPreparationType.STVO);
|
||||
}
|
||||
|
||||
public EPreparationType CalculatePreparationFlags()
|
||||
{
|
||||
EPreparationType result = EPreparationType.NONE;
|
||||
if (HD) result |= EPreparationType.CleanedHD;
|
||||
if (Mechanisch) result |= EPreparationType.CleanedMechanisch;
|
||||
if (Roboter) result |= EPreparationType.CleanedRoboter;
|
||||
if (Faekalienfrei) result |= EPreparationType.FaekalienFrei;
|
||||
if (Genehmigung) result |= EPreparationType.PermitNeeded;
|
||||
if (WaterBaried) result |= EPreparationType.WaterBaried;
|
||||
if (STVO) result |= EPreparationType.STVO;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Controls
|
||||
{
|
||||
public class SewerRhebalationControllViewModel : BaseViewModel
|
||||
{
|
||||
public string Bediener
|
||||
{
|
||||
get => model.Operator;
|
||||
set
|
||||
{
|
||||
if(model.Operator != value)
|
||||
{
|
||||
model.Operator = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal TemperaturAussen
|
||||
{
|
||||
get => model.TemperatureOutdoors;
|
||||
set
|
||||
{
|
||||
if(model.TemperatureOutdoors != value)
|
||||
{
|
||||
model.TemperatureOutdoors = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal TemperaturSewer
|
||||
{
|
||||
get => model.TemperatureSewer;
|
||||
set
|
||||
{
|
||||
if(model.TemperatureSewer != value)
|
||||
{
|
||||
model.TemperatureSewer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Weather
|
||||
{
|
||||
get => model.Weather;
|
||||
set
|
||||
{
|
||||
if(model.Weather != value)
|
||||
{
|
||||
model.Weather = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
private DateTime _date;
|
||||
public DateTime Datum
|
||||
{
|
||||
get => _date;
|
||||
set
|
||||
{
|
||||
if(_date != value)
|
||||
{
|
||||
_date = value;
|
||||
model.Date = DateOnly.FromDateTime(_date);
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public SewerPreperationControllViewModel SewerPreperationControllViewModel { get; set; }
|
||||
|
||||
private PipeLiner model;
|
||||
|
||||
public SewerRhebalationControllViewModel(PipeLiner model)
|
||||
{
|
||||
this.model = model;
|
||||
SewerPreperationControllViewModel = new SewerPreperationControllViewModel(model.PreparationType);
|
||||
_date = model.Date.ToDateTime(new TimeOnly(0));
|
||||
}
|
||||
public override void Dispose()
|
||||
{
|
||||
model.PreparationType = SewerPreperationControllViewModel.CalculatePreparationFlags();
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,19 +5,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="version.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="version.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" />
|
||||
<PackageReference Include="PresentationFramework" Version="4.6.0" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Enums
|
||||
{
|
||||
|
||||
enum EMediator
|
||||
{
|
||||
SHOWCLIENT,
|
||||
SELECTEDCLIENT,
|
||||
EDITCLIENT,
|
||||
SHOWPROJEKT,
|
||||
SELECTEDPROJEKT,
|
||||
EDITPROJEKT
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
|
||||
namespace DaSaSo.ViewModel.Factories
|
||||
{
|
||||
public class MainWindowViewModelFactory : IViewModelAbstractFactory
|
||||
{
|
||||
private CreateViewModel<HomeViewModel> _createHomeViewModel;
|
||||
private CreateViewModel<ClientListViewModel> _createClientListViewModel;
|
||||
private CreateViewModel<ClientEditViewModel> _createClientEditViewModel;
|
||||
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
|
||||
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
|
||||
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
|
||||
private CreateViewModel<SewerMainListViewModel> _createSewerMainMenuListViewModel;
|
||||
private CreateViewModel<ImpregnierungListViewModel> _createImpregnierungListViewModel;
|
||||
|
||||
public MainWindowViewModelFactory(
|
||||
CreateViewModel<HomeViewModel> createHomeViewModel,
|
||||
CreateViewModel<ClientListViewModel> createClientListViewModel,
|
||||
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
|
||||
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
|
||||
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel,
|
||||
CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel,
|
||||
CreateViewModel<SewerMainListViewModel> createSewerMainMenuListViewModel,
|
||||
CreateViewModel<ImpregnierungListViewModel> createImpregnierungListViewModel
|
||||
)
|
||||
{
|
||||
_createHomeViewModel = createHomeViewModel;
|
||||
_createClientListViewModel = createClientListViewModel;
|
||||
_createClientEditViewModel = createClientEditViewModel;
|
||||
_createProjektListViewModel = createProjektListViewModel;
|
||||
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
|
||||
_createSewerObjectListViewModel = createSewerObjectListViewModel;
|
||||
_createSewerMainMenuListViewModel = createSewerMainMenuListViewModel;
|
||||
_createImpregnierungListViewModel = createImpregnierungListViewModel;
|
||||
|
||||
}
|
||||
|
||||
public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
|
||||
{
|
||||
|
||||
switch (viewType)
|
||||
{
|
||||
case EMainWindowViewType.Home:
|
||||
return _createHomeViewModel();
|
||||
case EMainWindowViewType.Clients:
|
||||
return _createClientListViewModel();
|
||||
case EMainWindowViewType.ClientEdit:
|
||||
return _createClientEditViewModel();
|
||||
case EMainWindowViewType.Projects:
|
||||
return _createProjektListViewModel();
|
||||
case EMainWindowViewType.Buildingsites:
|
||||
return _createBuildingsiteListViewModel();
|
||||
case EMainWindowViewType.SewerObjects:
|
||||
return _createSewerObjectListViewModel();
|
||||
case EMainWindowViewType.SewerMainMenu:
|
||||
return _createSewerMainMenuListViewModel();
|
||||
case EMainWindowViewType.Impregnierung:
|
||||
return _createImpregnierungListViewModel();
|
||||
|
||||
|
||||
default:
|
||||
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
using DaSaSo.Domain.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 SewerWindowViewModelFactory : IViewModelSewerMainFactory
|
||||
{
|
||||
private CreateViewModel<SewerStammdatenViewModel> _createSewerStammdatenViewModel;
|
||||
private CreateViewModel<SewerDamageListViewModel> _createSewerDamageListViewModel;
|
||||
private CreateViewModel<SewerDamageEditViewModel> _createSewerDamageEditViewModel;
|
||||
private CreateViewModel<SewerPipeLinerViewModel> _createSewerPipeLinerViewModel;
|
||||
private CreateViewModel<SewerPictureDocumentationViewModel> _createSewerPictureDocumentationViewModel;
|
||||
|
||||
public SewerWindowViewModelFactory(
|
||||
CreateViewModel<SewerStammdatenViewModel> createSewerStammdatenViewModel,
|
||||
CreateViewModel<SewerDamageListViewModel> createSewerDamageListViewModel,
|
||||
CreateViewModel<SewerDamageEditViewModel> createSewerDamageEditViewModel,
|
||||
CreateViewModel<SewerPipeLinerViewModel> createSewerPipeLinerViewModel,
|
||||
CreateViewModel<SewerPictureDocumentationViewModel> createSewerPictureDocumentationViewModel
|
||||
)
|
||||
{
|
||||
_createSewerStammdatenViewModel = createSewerStammdatenViewModel;
|
||||
_createSewerDamageListViewModel = createSewerDamageListViewModel;
|
||||
_createSewerDamageEditViewModel = createSewerDamageEditViewModel;
|
||||
_createSewerPipeLinerViewModel = createSewerPipeLinerViewModel;
|
||||
_createSewerPictureDocumentationViewModel = createSewerPictureDocumentationViewModel;
|
||||
}
|
||||
|
||||
public BaseViewModel CreateViewModel(ESewerWindowViewType viewType)
|
||||
{
|
||||
switch (viewType)
|
||||
{
|
||||
case ESewerWindowViewType.SewerStammdaten: return _createSewerStammdatenViewModel();
|
||||
case ESewerWindowViewType.SewerDamageList: return _createSewerDamageListViewModel();
|
||||
case ESewerWindowViewType.SewerDamageEdit: return _createSewerDamageEditViewModel();
|
||||
case ESewerWindowViewType.SewerPipeLiner: return _createSewerPipeLinerViewModel();
|
||||
case ESewerWindowViewType.SewerPictureDocumentation: return _createSewerPictureDocumentationViewModel();
|
||||
default:
|
||||
throw new ArgumentException("The Viewtype does not have a ViewModel", "viewType");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class HomeViewModel : BaseViewModel
|
||||
{
|
||||
public string Welcome { get => "Herzlich willkommen"; }
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
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 ImpregnierungEditViewModel : BaseViewModel
|
||||
{
|
||||
private Impregnation _model;
|
||||
public ICommand SaveImpregnation { get; set; }
|
||||
public Impregnation Model { get => _model; set => _model = value; }
|
||||
|
||||
public int DN
|
||||
{
|
||||
get => _model.DN;
|
||||
set
|
||||
{
|
||||
_model.DN = value;
|
||||
}
|
||||
}
|
||||
public string LinerCharge
|
||||
{
|
||||
get => _model.LinerNumber;
|
||||
set
|
||||
{
|
||||
_model.LinerNumber = value;
|
||||
}
|
||||
}
|
||||
public decimal Wandstärke
|
||||
{
|
||||
get => _model.WallThickness;
|
||||
set
|
||||
{
|
||||
_model.WallThickness = value;
|
||||
}
|
||||
}
|
||||
public decimal LinerLänge
|
||||
{
|
||||
get => _model.Linerlength;
|
||||
set
|
||||
{
|
||||
_model.Linerlength = value;
|
||||
}
|
||||
}
|
||||
public string Imprägniernummer
|
||||
{
|
||||
get => _model.Number;
|
||||
set
|
||||
{
|
||||
_model.Number = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ImpregnierungEditViewModel(IActualProject actualProject, IDataService<Impregnation> dataservice)
|
||||
{
|
||||
_model = actualProject.AktuellImpregnation;
|
||||
SaveImpregnation = new SaveImpregnationCommand(this,dataservice);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ImpregnierungListViewModel : BaseViewModel
|
||||
{
|
||||
public ObservableCollection<Impregnation> Impregnations { get; }
|
||||
private readonly IDataService<Impregnation> _impregnationService;
|
||||
private Impregnation? _selectedImpregnation = null;
|
||||
public Impregnation? SelectedImpregnation
|
||||
{
|
||||
get => _selectedImpregnation;
|
||||
set
|
||||
{
|
||||
if(_selectedImpregnation != value)
|
||||
{
|
||||
_selectedImpregnation = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectImpregnation));
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool CanSelectImpregnation => SelectedImpregnation != null;
|
||||
public ICommand EditImpregnationCommand { get; set; }
|
||||
public ICommand AddImpregnationCommand { get; set; }
|
||||
bool _isLoading;
|
||||
|
||||
public bool IsLoading {
|
||||
get => _isLoading;
|
||||
set
|
||||
{
|
||||
if(_isLoading != value)
|
||||
{
|
||||
_isLoading = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ImpregnierungListViewModel(IDataService<Impregnation> impregnationService,IActualProject actualProject, IRenavigator editRenavigator)
|
||||
{
|
||||
IsLoading = true;
|
||||
Impregnations = new ObservableCollection<Impregnation>();
|
||||
_impregnationService = impregnationService;
|
||||
AddImpregnationCommand = new RelayCommand(() =>
|
||||
{
|
||||
Impregnation newImpregnation = new Impregnation()
|
||||
{
|
||||
Number = "Neu bitte Editieren!"
|
||||
};
|
||||
SelectedImpregnation = newImpregnation;
|
||||
Impregnations.Add(newImpregnation);
|
||||
OnPropertyChanged("Impregnations");
|
||||
});
|
||||
|
||||
//AddImpregnationCommand = //new AddImpregnationCommand(_impregnationService, editRenavigator);
|
||||
EditImpregnationCommand = new EditImpregnationCommand(_impregnationService, this,actualProject, editRenavigator);
|
||||
LoadImpregnations();
|
||||
|
||||
}
|
||||
|
||||
private async void LoadImpregnations()
|
||||
{
|
||||
var impregList = await _impregnationService.GetAll();
|
||||
InitCollection(Impregnations, impregList);
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
private void InitCollection(ObservableCollection<Impregnation> target, IEnumerable<Impregnation> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
target.Add(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IActualProject
|
||||
{
|
||||
event EventHandler? ClientChanged;
|
||||
event EventHandler? ProjectChanged;
|
||||
event EventHandler? BuildingSiteChanged;
|
||||
event EventHandler? SewerObjectChanged;
|
||||
event EventHandler? SewerDamageChanged;
|
||||
Client AktuellClient { get; }
|
||||
Project AktuellProjekt { get; }
|
||||
Buildingsite AktuellBaustelle { get; }
|
||||
SewerObject AktuellSewerObject { get; }
|
||||
SewerDamage AktuellSewerDamage { get; }
|
||||
Impregnation AktuellImpregnation { get; }
|
||||
|
||||
void SetClient(Client client, bool notification = true);
|
||||
void SetProject(Project project, bool notification = true);
|
||||
void SetBuildingSite(Buildingsite buildingsite);
|
||||
void SetSewerObject(SewerObject sewerObject, bool notification = true);
|
||||
void SetSewerDamage(SewerDamage sewerDamage, bool notification = true);
|
||||
void SetImpregnation(Impregnation impregnation, bool notification = true);
|
||||
void ResetProject();
|
||||
void ResetBuildingSite();
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IMainWindowNavigator : INavigator
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface INavigator
|
||||
{
|
||||
BaseViewModel CurrentViewModel { get; set; }
|
||||
event Action StateChanged;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IRenavigator
|
||||
{
|
||||
void Renavigate();
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface ISewerMainNavigator : INavigator
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IViewModelAbstractFactory
|
||||
{
|
||||
BaseViewModel CreateViewModel(EMainWindowViewType viewType);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IViewModelFactory<T> where T: BaseViewModel
|
||||
{
|
||||
T CreateViewModel();
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IViewModelSewerMainFactory
|
||||
{
|
||||
BaseViewModel CreateViewModel(ESewerWindowViewType viewType);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IWindowService
|
||||
{
|
||||
void ShowWindow<T>(object DataContext);
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
using DaSaSo.ViewModel.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
class Mediator
|
||||
{
|
||||
private static IDictionary<EMediator, List<Action<object>>> pl_dict = new Dictionary<EMediator, List<Action<object>>>();
|
||||
public static void Subscribe(EMediator token, Action<object> callback)
|
||||
{
|
||||
if (!pl_dict.ContainsKey(token))
|
||||
{
|
||||
var list = new List<Action<object>>();
|
||||
list.Add(callback);
|
||||
pl_dict.Add(token, list);
|
||||
}
|
||||
else
|
||||
{
|
||||
bool found = false;
|
||||
foreach (var item in pl_dict[token])
|
||||
{
|
||||
if (item.Method.ToString() == callback.Method.ToString())
|
||||
found = true;
|
||||
}
|
||||
if (!found)
|
||||
pl_dict[token].Add(callback);
|
||||
}
|
||||
}
|
||||
public static void Unsubscribe(EMediator token, Action<object> callback)
|
||||
{
|
||||
if (pl_dict.ContainsKey(token))
|
||||
pl_dict[token].Remove(callback);
|
||||
}
|
||||
|
||||
public static void Notify(EMediator token, object? args = null)
|
||||
{
|
||||
if (pl_dict.ContainsKey(token))
|
||||
{
|
||||
foreach (var callback in pl_dict[token])
|
||||
callback(args);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ObservableObject : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler? PropertyChanged;
|
||||
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.ProjectServices;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
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 ProjectEditViewModel : BaseViewModel
|
||||
{
|
||||
private Project _model;
|
||||
private readonly IDataService<Project> _dataservice;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly IProjectService _projectService;
|
||||
|
||||
public IRelayCommand SaveProjectCommand { get; set; }
|
||||
public string ProjektName
|
||||
{
|
||||
get => _model.Name;
|
||||
set
|
||||
{
|
||||
if (_model.Name != value)
|
||||
{
|
||||
_model.Name = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string ProjektNummer
|
||||
{
|
||||
get => _model.Projektnummer;
|
||||
set
|
||||
{
|
||||
if(_model.Projektnummer != value)
|
||||
{
|
||||
_model.Projektnummer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ProjectEditViewModel(IDataService<Project> dataservice, IActualProject actualProject,IRenavigator renavigator, IProjectService projectService)
|
||||
{
|
||||
_dataservice = dataservice;
|
||||
_actualProject = actualProject;
|
||||
_renavigator = renavigator;
|
||||
_projectService = projectService;
|
||||
_model = actualProject.AktuellProjekt;
|
||||
SaveProjectCommand = new RelayCommand(SaveProject);
|
||||
//SaveProjectCommand = new EditProjectCommand(_dataservice, _actualProject, _renavigator, this);
|
||||
|
||||
}
|
||||
|
||||
private void SaveProject()
|
||||
{
|
||||
_dataservice.Update(_model.Id, _model);
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.ProjectServices;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ProjectListViewModel : BaseViewModel
|
||||
{
|
||||
private ProjectDataService genericDataService;
|
||||
|
||||
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();
|
||||
OnPropertyChanged(nameof(CanSelectProject));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand SelectCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public bool CanSelectProject => SelectedProject != null;
|
||||
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService)
|
||||
{
|
||||
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);
|
||||
AddCommand = new AddProjectCommand(genericDataService,actualProject, projectService,renavigator);
|
||||
EditCommand = new EditProjectCommand(genericDataService, actualProject, renavigator,projectService, this);
|
||||
LoadProjecte();
|
||||
}
|
||||
|
||||
public async void LoadProjecte()
|
||||
{
|
||||
var projects = await genericDataService.GetAll();
|
||||
InitCollection(Projekte, projects);
|
||||
}
|
||||
|
||||
private void InitCollection(ObservableCollection<Project> target, IEnumerable<Project> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
target.Add(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.ViewModel.Controls;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerDamageEditViewModel : BaseViewModel
|
||||
{
|
||||
private SewerDamage? _damage;
|
||||
|
||||
public SewerDamageControllViewModel damageControllViewModel { get; set; }
|
||||
//public SewerPreperationControllViewModel preperationControllViewModel { get; set; }
|
||||
public IRelayCommand Berechne { get; set; }
|
||||
|
||||
private string? _entfernung;
|
||||
public string Entfernung
|
||||
{
|
||||
get => _entfernung;
|
||||
set
|
||||
{
|
||||
_entfernung = value;
|
||||
_damage.SewerObject.IsChanged = true;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public SewerDamage? Damage
|
||||
{
|
||||
get => _damage;
|
||||
set
|
||||
{
|
||||
_damage = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public SewerDamageEditViewModel(IActualProject actualProject)
|
||||
{
|
||||
if (actualProject.AktuellSewerDamage == null) throw new NullReferenceException(nameof(actualProject.AktuellSewerDamage));
|
||||
Damage = actualProject.AktuellSewerDamage;
|
||||
|
||||
damageControllViewModel = new SewerDamageControllViewModel(Damage.DamageType);
|
||||
//preperationControllViewModel = new SewerPreperationControllViewModel(Damage.PreparationType);
|
||||
|
||||
Entfernung = Damage.Distance.ToString();
|
||||
|
||||
/*Berechne = new RelayCommand(() =>
|
||||
{
|
||||
//Debugger.Break();
|
||||
Damage.DamageType = damageControllViewModel.CalculateDamageFlags();
|
||||
Damage.PreparationType = preperationControllViewModel.CalculatePreparationFlags();
|
||||
});
|
||||
*/
|
||||
|
||||
}
|
||||
~SewerDamageEditViewModel()
|
||||
{
|
||||
//Debugger.Break();
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
// Alle Werte Speichern, form wurde geändert (Noch nicht in DB!)
|
||||
EDamageType newDamage = damageControllViewModel.CalculateDamageFlags();
|
||||
//EPreparationType newPrepartion = preperationControllViewModel.CalculatePreparationFlags();
|
||||
if(Damage.DamageType != newDamage)
|
||||
{
|
||||
Damage.DamageType = newDamage;
|
||||
Damage.SewerObject.IsChanged = true;
|
||||
}
|
||||
/* if(Damage.PreparationType != newPrepartion)
|
||||
{
|
||||
Damage.PreparationType = newPrepartion;
|
||||
Damage.SewerObject.IsChanged = true;
|
||||
}
|
||||
*/
|
||||
damageControllViewModel.Dispose();
|
||||
//preperationControllViewModel.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
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 SewerDamageListViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IDataService<SewerObject> _dataService;
|
||||
private SewerDamage? _selectedDamage;
|
||||
|
||||
public ICommand AddNewDamage { get; set; }
|
||||
public SewerDamage SelectedDamage
|
||||
{
|
||||
get => _selectedDamage;
|
||||
set
|
||||
{
|
||||
_selectedDamage = value;
|
||||
_actualProject.SetSewerDamage(_selectedDamage);
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
SewerObject _model;
|
||||
public List<SewerDamage> Damages { get => _model.SewerDamages.ToList(); }
|
||||
|
||||
public SewerDamageListViewModel(IActualProject actualProject, IDataService<SewerObject> dataService, IRenavigator addedNavigator)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_dataService = dataService;
|
||||
_model = _actualProject.AktuellSewerObject;
|
||||
AddNewDamage = new AddDamageCommand(actualProject,addedNavigator);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
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 SewerMainListViewModel : BaseViewModel
|
||||
{
|
||||
private ISewerMainNavigator Navigator { get; set; }
|
||||
private readonly SewerObjectDataService _dataservice;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private IActualProject ActualProject { get; set; }
|
||||
public ICommand UpdateCurrentSewerViewModelCommand { get; }
|
||||
public ICommand CloseCommand { get; set; }
|
||||
// public ICommand SchadenCommand { get; set; }
|
||||
public ICommand Schlauchliner { get; set; }
|
||||
public BaseViewModel CurrentSewerViewModel => Navigator.CurrentViewModel;
|
||||
|
||||
public bool CanSelectDamage => Schaden != null;
|
||||
public bool IsLoading
|
||||
{
|
||||
get => _isLoading;
|
||||
set
|
||||
{
|
||||
if (_isLoading != value)
|
||||
{
|
||||
_isLoading = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
private SewerDamage _schaden;
|
||||
public SewerDamage Schaden
|
||||
{
|
||||
get => _schaden;
|
||||
set
|
||||
{
|
||||
_schaden = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectDamage));
|
||||
}
|
||||
}
|
||||
|
||||
public string Strasse { get => ActualProject.AktuellSewerObject.StreetName; }
|
||||
public string AktualObject { get => ActualProject.AktuellSewerObject.ObjektName; }
|
||||
|
||||
bool _isLoading = true;
|
||||
public bool CanSaveSewer => !string.IsNullOrEmpty(ActualProject.AktuellSewerObject.StreetName);
|
||||
|
||||
public SewerMainListViewModel(
|
||||
IDataService<SewerObject> dataService,
|
||||
ISewerMainNavigator navigator,
|
||||
IActualProject actualProject,
|
||||
IViewModelSewerMainFactory viewModelFactory,
|
||||
IRenavigator renavigator,
|
||||
ISewerObjectService sewerObjectService,
|
||||
ISewerpointService sewerpointService
|
||||
)
|
||||
{
|
||||
Navigator = navigator;
|
||||
ActualProject = actualProject;
|
||||
_dataservice = (SewerObjectDataService)dataService;
|
||||
_renavigator = renavigator;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
CloseCommand = new SaveSewerCommand(_dataservice,ActualProject,_sewerObjectService,_renavigator,Navigator); //RelayCommand(SaveSewer);
|
||||
LoadModel();
|
||||
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(Navigator, viewModelFactory);
|
||||
Navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
ActualProject.SewerDamageChanged += ActualProject_SewerDamageChanged;
|
||||
|
||||
//SchadenCommand = UpdateCurrentSewerViewModelCommand.Execute(); // new SelectDamageCommand(this);
|
||||
}
|
||||
|
||||
private void ActualProject_SewerDamageChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Schaden = ActualProject.AktuellSewerDamage;
|
||||
OnPropertyChanged(nameof(Schaden));
|
||||
}
|
||||
|
||||
private async void LoadModel()
|
||||
{
|
||||
IsLoading = true;
|
||||
SewerObject sewer = await _dataservice.Get(ActualProject.AktuellSewerObject.Id);
|
||||
ActualProject.SetSewerObject(sewer,false);
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
Navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
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;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerObjectListViewModel : BaseViewModel
|
||||
{
|
||||
private readonly SewerObjectDataService _sewerObjectDataService;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; }
|
||||
public object Testme { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
|
||||
public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject, ISewerObjectService sewerObjectService)
|
||||
{
|
||||
SewerObjects = new ObservableCollection<SewerObjectsToStreet>();
|
||||
this._sewerObjectDataService = (sewerObjectDataService as SewerObjectDataService);
|
||||
_sewerObjectService = sewerObjectService;
|
||||
this._actualProject = actualProject;
|
||||
|
||||
LoadSewerObjects();
|
||||
EditCommand = new SelectSewerObjectCommand(actualProject, this);
|
||||
AddCommand = new AddSewerObjectCommand(actualProject, sewerObjectService);
|
||||
|
||||
}
|
||||
|
||||
public SewerObject? GetSelectedSewer()
|
||||
{
|
||||
SewerObject? result = null;
|
||||
foreach(SewerObjectsToStreet? streetcollection in SewerObjects)
|
||||
{
|
||||
foreach(SewerObject? sewer in streetcollection.SewerObjects)
|
||||
{
|
||||
if (sewer.IsSelected)
|
||||
{
|
||||
result = sewer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (result != null)
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private async void LoadSewerObjects()
|
||||
{
|
||||
//BUG: Streetname can be null, programm Terminate
|
||||
IEnumerable<SewerObject>? sewerobjects = await _sewerObjectDataService.GetAllByBuildingsite(_actualProject.AktuellBaustelle);
|
||||
List<SewerObject> _sewers = sewerobjects.ToList();
|
||||
|
||||
// Get all Streetnames
|
||||
IEnumerable<string>? streetnames = sewerobjects.Select(x => x.StreetName).Distinct();
|
||||
List<SewerObjectsToStreet> result = new List<SewerObjectsToStreet>();
|
||||
|
||||
foreach(string streetname in streetnames)
|
||||
{
|
||||
SewerObjectsToStreet res = new SewerObjectsToStreet();
|
||||
res.Streetname = streetname;
|
||||
// Get all Objects that called in street
|
||||
res.SewerObjects = _sewers.FindAll(x => x.StreetName.Equals(streetname));
|
||||
|
||||
result.Add(res);
|
||||
}
|
||||
InitCollection(SewerObjects, result);
|
||||
}
|
||||
|
||||
private void InitCollection(ObservableCollection<SewerObjectsToStreet> target, List<SewerObjectsToStreet> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
target.Add(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public static class BitmapConversion
|
||||
{
|
||||
//BitmapSource
|
||||
}
|
||||
public class SewerPictureDocumentationViewModel : BaseViewModel
|
||||
{
|
||||
|
||||
public ObservableCollection<TabItem> Tabs { get; set; }
|
||||
|
||||
public SewerPictureDocumentationViewModel()
|
||||
{
|
||||
Tabs = new ObservableCollection<TabItem>();
|
||||
Tabs.Add(new TabItem { Header = "One", Content = "One's content" });
|
||||
Tabs.Add(new TabItem { Header = "Two", Content = "Two content" });
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class TabItem
|
||||
{
|
||||
public string Header { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.ViewModel.Controls;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerPipeLinerViewModel : BaseViewModel
|
||||
{
|
||||
private SewerRhebalationControllViewModel _sewerRhebalationControllViewModel;
|
||||
private PipeLiner _model;
|
||||
|
||||
public PipeLiner Model
|
||||
{
|
||||
get => _model;
|
||||
set => _model = value;
|
||||
}
|
||||
|
||||
public string Operator
|
||||
{
|
||||
get => Model.Operator;
|
||||
set
|
||||
{
|
||||
if(Model.Operator != value)
|
||||
{
|
||||
Model.Operator = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool ClosedEnd
|
||||
{
|
||||
get => Model.ClosedEnd;
|
||||
set
|
||||
{
|
||||
if(Model.ClosedEnd != value)
|
||||
{
|
||||
Model.ClosedEnd = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool Preliner
|
||||
{
|
||||
get => Model.Preliner;
|
||||
set
|
||||
{
|
||||
if(Model.Preliner != value)
|
||||
{
|
||||
Model.Preliner = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal EinbauTemperatur
|
||||
{
|
||||
get => Model.TemperaturAssembly;
|
||||
set
|
||||
{
|
||||
if(Model.TemperaturAssembly != value)
|
||||
{
|
||||
Model.TemperaturAssembly = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal LagerungTemperatur
|
||||
{
|
||||
get => Model.TemperaturStorage;
|
||||
set
|
||||
{
|
||||
if (Model.TemperaturStorage != value)
|
||||
{
|
||||
Model.TemperaturStorage = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal EinbauDruck
|
||||
{
|
||||
get => Model.InversionPressure;
|
||||
set
|
||||
{
|
||||
if(Model.InversionPressure != value)
|
||||
{
|
||||
Model.InversionPressure = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public SewerRhebalationControllViewModel SewerRhebalationControllViewModel
|
||||
{
|
||||
get => _sewerRhebalationControllViewModel;
|
||||
set => _sewerRhebalationControllViewModel = value;
|
||||
}
|
||||
|
||||
public SewerPipeLinerViewModel(IActualProject actualProject)
|
||||
{
|
||||
|
||||
if(actualProject.AktuellSewerObject.PipeLiner == null)
|
||||
{
|
||||
actualProject.AktuellSewerObject.PipeLiner = new PipeLiner();
|
||||
}
|
||||
Model = actualProject.AktuellSewerObject.PipeLiner;
|
||||
SewerRhebalationControllViewModel = new SewerRhebalationControllViewModel(Model);
|
||||
|
||||
}
|
||||
public override void Dispose()
|
||||
{
|
||||
// Todo Calculate SewerPreperation
|
||||
//EPreparationType preparationFlags = SewerPreperationControllViewModel.CalculatePreparationFlags();
|
||||
//Model.PreparationType = preparationFlags;
|
||||
//SewerPreperationControllViewModel.Dispose();
|
||||
//Debugger.Break();
|
||||
SewerRhebalationControllViewModel.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,195 +0,0 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerStammdatenViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ISewerpointService _sewerpointService;
|
||||
private SewerObject _model;
|
||||
|
||||
public ICommand SaveCommand { get; set; }
|
||||
public string _oberepunkt { get; set; }
|
||||
public string _unterepunkt { get; set; }
|
||||
|
||||
public string Haltungsname
|
||||
{
|
||||
get => Model.ObjektName;
|
||||
set
|
||||
{
|
||||
if(Model.ObjektName != value)
|
||||
{
|
||||
Model.ObjektName = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Hausnummer
|
||||
{
|
||||
get => Model.Hausnummer;
|
||||
set
|
||||
{
|
||||
if(Model.Hausnummer != value)
|
||||
{
|
||||
Model.Hausnummer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Sanierungsid
|
||||
{
|
||||
get => Model.SanNummer;
|
||||
set
|
||||
{
|
||||
if(Model.SanNummer != value)
|
||||
{
|
||||
Model.SanNummer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string Oberepunkt
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_model.PunktOben != null)
|
||||
return _model.PunktOben.Objektnummer;
|
||||
return _oberepunkt;
|
||||
}
|
||||
set
|
||||
{
|
||||
if(_oberepunkt != value)
|
||||
{
|
||||
_oberepunkt = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Unterepunkt
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_model.PunktUnten != null)
|
||||
return _model.PunktUnten.Objektnummer;
|
||||
return _unterepunkt;
|
||||
}
|
||||
set
|
||||
{
|
||||
if(_unterepunkt != value)
|
||||
{
|
||||
_unterepunkt = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public int Durchmesser
|
||||
{
|
||||
get => Model.DN;
|
||||
set
|
||||
{
|
||||
if(Model.DN != value)
|
||||
{
|
||||
Model.DN = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Material
|
||||
{
|
||||
get => Model.Material;
|
||||
set
|
||||
{
|
||||
if(Model.Material != value)
|
||||
{
|
||||
Model.Material = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal Leitungslength {
|
||||
get => Model.SewerLength;
|
||||
set
|
||||
{
|
||||
if(Model.SewerLength != value)
|
||||
{
|
||||
Model.SewerLength = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Strasse
|
||||
{
|
||||
get => Model.StreetName;
|
||||
set
|
||||
{
|
||||
if (Model.StreetName != value)
|
||||
{
|
||||
Model.StreetName = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Ort
|
||||
{
|
||||
get
|
||||
{
|
||||
return Model.BuildingSite == null ? "" : Model.BuildingSite.Country;
|
||||
}
|
||||
set
|
||||
{
|
||||
if(Model.BuildingSite.Country != value)
|
||||
{
|
||||
Model.BuildingSite.Country = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public SewerObject Model
|
||||
{
|
||||
get => _model;
|
||||
set
|
||||
{
|
||||
_model = value;
|
||||
OnPropertyChanged(nameof(Haltungsname));
|
||||
OnPropertyChanged(nameof(Oberepunkt));
|
||||
OnPropertyChanged(nameof(Unterepunkt));
|
||||
OnPropertyChanged(nameof(Durchmesser));
|
||||
OnPropertyChanged(nameof(Material));
|
||||
OnPropertyChanged(nameof(Leitungslength));
|
||||
OnPropertyChanged(nameof(Strasse));
|
||||
OnPropertyChanged(nameof(Ort));
|
||||
}
|
||||
}
|
||||
|
||||
public SewerStammdatenViewModel(IActualProject actualProject, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
|
||||
Model = _actualProject.AktuellSewerObject;
|
||||
SaveCommand = new SaveSewerStammdatenCommand(this, dataService, sewerpointService);
|
||||
this.PropertyChanged += SewerStammdatenViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void SewerStammdatenViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
Model.IsChanged = true;
|
||||
}
|
||||
|
||||
~SewerStammdatenViewModel()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
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.State.ActualState
|
||||
{
|
||||
public class ActualProject : IActualProject
|
||||
{
|
||||
public Client? AktuellClient { get; private set; }
|
||||
public Buildingsite? AktuellBaustelle { get; private set; }
|
||||
public Project? AktuellProjekt { get; private set; }
|
||||
public SewerObject? AktuellSewerObject { get; private set; }
|
||||
public SewerDamage? AktuellSewerDamage { get; private set; }
|
||||
public Impregnation? AktuellImpregnation { get; private set; }
|
||||
|
||||
|
||||
#region events
|
||||
public event EventHandler? ClientChanged;
|
||||
public event EventHandler? ProjectChanged;
|
||||
public event EventHandler? BuildingSiteChanged;
|
||||
public event EventHandler? SewerObjectChanged;
|
||||
public event EventHandler? SewerDamageChanged;
|
||||
|
||||
protected void OnClientChanged()
|
||||
{
|
||||
ClientChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
protected void OnProjectChanged()
|
||||
{
|
||||
ProjectChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
protected void OnBuildingSiteChanged()
|
||||
{
|
||||
BuildingSiteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
protected void OnSewerObjectChanged()
|
||||
{
|
||||
SewerObjectChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
protected void OnSewerDamageChanged()
|
||||
{
|
||||
SewerDamageChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
#endregion
|
||||
public void SetClient(Client client, bool notification = true)
|
||||
{
|
||||
//ResetProject();
|
||||
//ResetBuildingSite();
|
||||
AktuellClient = client;
|
||||
if(notification)
|
||||
OnClientChanged();
|
||||
}
|
||||
|
||||
public void SetProject(Project project, bool notification = true)
|
||||
{
|
||||
AktuellProjekt = project;
|
||||
if(notification)
|
||||
OnProjectChanged();
|
||||
}
|
||||
|
||||
public void SetBuildingSite(Buildingsite buildingsite)
|
||||
{
|
||||
AktuellBaustelle = buildingsite;
|
||||
OnBuildingSiteChanged();
|
||||
}
|
||||
|
||||
public void SetSewerObject(SewerObject sewerObject,bool notification = true)
|
||||
{
|
||||
AktuellSewerObject = sewerObject;
|
||||
if(notification)
|
||||
OnSewerObjectChanged();
|
||||
}
|
||||
|
||||
public void SetImpregnation(Impregnation impregnation, bool notification = true)
|
||||
{
|
||||
AktuellImpregnation = impregnation;
|
||||
if (notification)
|
||||
return; // TODO notification wird aktuell nicht benötigt
|
||||
}
|
||||
public void ResetProject()
|
||||
{
|
||||
SetProject(null);
|
||||
ResetBuildingSite();
|
||||
}
|
||||
|
||||
public void ResetBuildingSite()
|
||||
{
|
||||
SetBuildingSite(null);
|
||||
}
|
||||
|
||||
public void SetSewerDamage(SewerDamage sewerDamage, bool notification = true)
|
||||
{
|
||||
AktuellSewerDamage = sewerDamage;
|
||||
if (notification)
|
||||
OnSewerDamageChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel.State.Navigation
|
||||
{
|
||||
public class MainWindowNavigator : ObservableObject, IMainWindowNavigator
|
||||
{
|
||||
|
||||
private BaseViewModel _currentViewModel;
|
||||
public BaseViewModel CurrentViewModel
|
||||
{
|
||||
get => _currentViewModel;
|
||||
set
|
||||
{
|
||||
_currentViewModel?.Dispose();
|
||||
_currentViewModel = value;
|
||||
StateChanged?.Invoke();
|
||||
}
|
||||
}
|
||||
public event Action StateChanged;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.State.Navigation
|
||||
{
|
||||
public class SewerMainNavigator : ISewerMainNavigator
|
||||
{
|
||||
private BaseViewModel _currentViewModel;
|
||||
public BaseViewModel CurrentViewModel
|
||||
{
|
||||
get => _currentViewModel;
|
||||
set
|
||||
{
|
||||
_currentViewModel?.Dispose();
|
||||
_currentViewModel = value;
|
||||
StateChanged?.Invoke();
|
||||
}
|
||||
}
|
||||
public event Action StateChanged;
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.State.Navigation
|
||||
{
|
||||
public class ViewModelDelegateRenavigator<TViewModel> : IRenavigator where TViewModel: BaseViewModel
|
||||
{
|
||||
private readonly IMainWindowNavigator _navigator;
|
||||
private readonly CreateViewModel<TViewModel> _createViewModel;
|
||||
|
||||
public ViewModelDelegateRenavigator(IMainWindowNavigator navigator, CreateViewModel<TViewModel> createViewModel)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_createViewModel = createViewModel;
|
||||
}
|
||||
|
||||
public void Renavigate()
|
||||
{
|
||||
_navigator.CurrentViewModel = _createViewModel();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,211 +0,0 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.EntityFramework;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using DaSaSo.ViewModel.State.Navigation;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public sealed class MainWindowViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IViewModelAbstractFactory viewModelFactory;
|
||||
|
||||
public MainWindowViewModel(IViewModelAbstractFactory viewModelFactory)
|
||||
{
|
||||
this.viewModelFactory = viewModelFactory;
|
||||
}
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IDataService<Client> _clientDataService;
|
||||
private readonly IDataService<Project> _projectDataService;
|
||||
private readonly IDataService<Buildingsite> _buildingsiteDataService;
|
||||
|
||||
private string _clientname = "";
|
||||
private string _projektname = "";
|
||||
private string _projektnummer = "";
|
||||
private string _buildingsitename = "";
|
||||
private RegistryKey? registry;
|
||||
const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo";
|
||||
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
||||
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
||||
|
||||
public IMainWindowNavigator Navigator { get; set; }
|
||||
public ICommand UpdateCurrentViewModelCommand { get; }
|
||||
public BaseViewModel CurrentViewModel => Navigator.CurrentViewModel;
|
||||
|
||||
public string ClientName
|
||||
{
|
||||
get => _clientname;
|
||||
set
|
||||
{
|
||||
if(_clientname != value)
|
||||
{
|
||||
_clientname = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string Projektname
|
||||
{
|
||||
get => _projektname;
|
||||
set
|
||||
{
|
||||
if (_projektname != value)
|
||||
{
|
||||
_projektname = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Projektnummer
|
||||
{
|
||||
get => _projektnummer;
|
||||
set
|
||||
{
|
||||
if (_projektnummer != value)
|
||||
{
|
||||
_projektnummer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public string Buildingsitename
|
||||
{
|
||||
get => _buildingsitename;
|
||||
set
|
||||
{
|
||||
if (_buildingsitename != value)
|
||||
{
|
||||
_buildingsitename = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static string ApplicationTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
string gitVersion;
|
||||
#pragma warning disable CS8600 // Converting null literal or possible null value to non-nullable type.
|
||||
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DaSaSo.ViewModel.version.txt"))
|
||||
#pragma warning restore CS8600 // Converting null literal or possible null value to non-nullable type.
|
||||
#pragma warning disable CS8604 // Possible null reference argument.
|
||||
using (StreamReader reader = new(stream))
|
||||
#pragma warning restore CS8604 // Possible null reference argument.
|
||||
{
|
||||
gitVersion = reader.ReadToEnd();
|
||||
}
|
||||
return string.Format("Cosysda Sanierung Software : {0}",gitVersion);
|
||||
}
|
||||
}
|
||||
|
||||
public MainWindowViewModel(IMainWindowNavigator navigator,IViewModelAbstractFactory viewModelFactory,
|
||||
IActualProject actualProject,
|
||||
IDataService<Client> clientDataService,
|
||||
IDataService<Project> projectDataService,
|
||||
IDataService<Buildingsite> buildingsiteDataService
|
||||
)
|
||||
{
|
||||
this.Navigator = navigator;
|
||||
this.viewModelFactory = viewModelFactory;
|
||||
_clientDataService = clientDataService;
|
||||
_projectDataService = projectDataService;
|
||||
_buildingsiteDataService = buildingsiteDataService;
|
||||
|
||||
registry = Registry.CurrentUser.OpenSubKey("Software\\Cosysda\\DaSaSo");
|
||||
if (registry == null) InitRegistry();
|
||||
|
||||
Navigator.StateChanged += Navigator_StateChanged;
|
||||
|
||||
UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Home);
|
||||
_actualProject = actualProject;
|
||||
_actualProject.ProjectChanged += ActualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += ActualProject_BuildingSiteChanged;
|
||||
_actualProject.SewerObjectChanged += ActualProject_SewerObjectChanged;
|
||||
|
||||
LadeRegistry();
|
||||
}
|
||||
|
||||
private async void LadeRegistry()
|
||||
{
|
||||
int projectid = Convert.ToInt32((string)registry.GetValue("lastproject", "-1"));
|
||||
if (projectid == -1)
|
||||
return;
|
||||
Project lastProject = await _projectDataService.Get(projectid);
|
||||
if(lastProject == null)
|
||||
{
|
||||
SaveInRegistry("lastproject","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetProject(lastProject);
|
||||
|
||||
string? value = registry.GetValue("lastbuildingsite", "-1") as string;
|
||||
int buildingsiteid = Convert.ToInt32(value);
|
||||
if (buildingsiteid == -1)
|
||||
return;
|
||||
Buildingsite lastBuildingiste = await _buildingsiteDataService.Get(buildingsiteid);
|
||||
if(lastBuildingiste == null)
|
||||
{
|
||||
SaveInRegistry("lastbuildingsite","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetBuildingSite(lastBuildingiste);
|
||||
|
||||
}
|
||||
|
||||
private static void SaveInRegistry(string key, string value)
|
||||
{
|
||||
Registry.SetValue(REGISTRYKEY, key, value);
|
||||
}
|
||||
|
||||
private void InitRegistry()
|
||||
{
|
||||
registry = Registry.CurrentUser.CreateSubKey("Software\\Cosysda\\DaSaSo");
|
||||
LadeRegistry();
|
||||
}
|
||||
|
||||
private void ActualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerMainMenu);
|
||||
}
|
||||
|
||||
private void Navigator_StateChanged()
|
||||
{
|
||||
OnPropertyChanged(nameof(CurrentViewModel));
|
||||
}
|
||||
|
||||
private void ActualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
{
|
||||
SaveInRegistry("lastbuildingsite", _actualProject.AktuellBaustelle.Id.ToString());
|
||||
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
|
||||
OnPropertyChanged(nameof(CanSelectSewerObjects));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
|
||||
}
|
||||
|
||||
private void ActualProject_ProjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
SaveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString());
|
||||
Projektname = _actualProject.AktuellProjekt.Name;
|
||||
Projektnummer = _actualProject.AktuellProjekt.Projektnummer;
|
||||
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user