Kanalschaden werden richtig geparsed
This commit is contained in:
@@ -47,7 +47,7 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_renavigator = renavigator;
|
||||
_buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService;
|
||||
_buildingSiteDataService = (BuildingsiteDataService)buildingSiteDataService;
|
||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace DaSaSo.ViewModel
|
||||
public class ClientEditViewModel : BaseViewModel
|
||||
{
|
||||
private Client _model;
|
||||
private IDataService<Client> _dataService;
|
||||
private readonly IDataService<Client> _dataService;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator renavigator;
|
||||
|
||||
@@ -32,9 +32,9 @@ namespace DaSaSo.ViewModel
|
||||
this._model = _actualProject.AktuellClient;
|
||||
}
|
||||
|
||||
private void SaveClient()
|
||||
private async void SaveClient()
|
||||
{
|
||||
_dataService.Update(Model.Id, Model);
|
||||
await _dataService.Update(Model.Id, Model);
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,9 +19,7 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
public ObservableCollection<Client> Clients { get; }
|
||||
private Client? _selectedClient;
|
||||
private IDataService<Client> _dataService;
|
||||
private readonly IRenavigator renavigator;
|
||||
IEnumerable<Client>? result;
|
||||
private readonly IDataService<Client> _dataService;
|
||||
bool _isLoading = true;
|
||||
|
||||
public ICommand SelectCommand { get; set; }
|
||||
@@ -63,19 +61,14 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
Clients = new ObservableCollection<Client>();
|
||||
_dataService = dataService;
|
||||
this.renavigator = renavigator;
|
||||
|
||||
LoadClient();
|
||||
SelectCommand = new SelectClientCommand(actualProject, this); //= new RelayCommand(SelectClient, () => SelectedClient != null);
|
||||
SelectCommand = new SelectClientCommand(dataService,actualProject, this);
|
||||
EditCommand = new EditClientCommand(_dataService,actualProject, editRenavigator, this);
|
||||
AddNewClientCommand = new AddClientCommand(_dataService, actualProject, editRenavigator, this);
|
||||
|
||||
}
|
||||
|
||||
~ClientListViewModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async void LoadClient()
|
||||
{
|
||||
IsLoading = true;
|
||||
@@ -86,7 +79,7 @@ namespace DaSaSo.ViewModel
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
private void InitCollection(ObservableCollection<Client> target, IEnumerable<Client> source)
|
||||
private static void InitCollection(ObservableCollection<Client> target, IEnumerable<Client> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
@@ -14,19 +16,24 @@ namespace DaSaSo.ViewModel.Commands
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ClientListViewModel _clientListViewModel;
|
||||
private readonly IDataService<Client> _dataservice;
|
||||
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _clientListViewModel.CanSelectClient;
|
||||
}
|
||||
public SelectClientCommand(IActualProject actualProject, ClientListViewModel clientListViewModel)
|
||||
public SelectClientCommand(
|
||||
IDataService<Client> dataService,
|
||||
IActualProject actualProject,
|
||||
ClientListViewModel clientListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_clientListViewModel = clientListViewModel;
|
||||
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||
_clientListViewModel.PropertyChanged += ClientListViewModel_PropertyChanged;
|
||||
_dataservice = dataService;
|
||||
}
|
||||
|
||||
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
private void ClientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||
{
|
||||
@@ -36,8 +43,10 @@ namespace DaSaSo.ViewModel.Commands
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var s = _clientListViewModel.SelectedClient;
|
||||
_actualProject.SetClient(s);
|
||||
Client? _selectedClient = _clientListViewModel.SelectedClient;
|
||||
if (_selectedClient == null) return;
|
||||
_selectedClient = await _dataservice.Get(_selectedClient.Id);
|
||||
_actualProject.SetClient(_selectedClient);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
24
DaSaSo.ViewModel/Commands/SelectDamageCommand.cs
Normal file
24
DaSaSo.ViewModel/Commands/SelectDamageCommand.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
50
DaSaSo.ViewModel/Controls/SewerDamageControllViewModel.cs
Normal file
50
DaSaSo.ViewModel/Controls/SewerDamageControllViewModel.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
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 SewerPreperationControllViewModel(EPreparationType preparationType)
|
||||
{
|
||||
HD = preparationType.HasFlag(EPreparationType.CleanedHD);
|
||||
Mechanisch = preparationType.HasFlag(EPreparationType.CleanedMechanisch);
|
||||
Roboter = preparationType.HasFlag(EPreparationType.CleanedRoboter);
|
||||
Faekalienfrei = preparationType.HasFlag(EPreparationType.FaekalienFrei);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,15 +12,17 @@ namespace DaSaSo.ViewModel.Factories
|
||||
{
|
||||
private CreateViewModel<SewerStammdatenViewModel> _createSewerStammdatenViewModel;
|
||||
private CreateViewModel<SewerDamageListViewModel> _createSewerDamageListViewModel;
|
||||
private CreateViewModel<SewerDamageEditViewModel> _createSewerDamageEditViewModel;
|
||||
|
||||
public SewerWindowViewModelFactory(
|
||||
CreateViewModel<SewerStammdatenViewModel> createSewerStammdatenViewModel,
|
||||
CreateViewModel<SewerDamageListViewModel> createSewerDamageListViewModel
|
||||
|
||||
CreateViewModel<SewerDamageListViewModel> createSewerDamageListViewModel,
|
||||
CreateViewModel<SewerDamageEditViewModel> createSewerDamageEditViewModel
|
||||
)
|
||||
{
|
||||
_createSewerStammdatenViewModel = createSewerStammdatenViewModel;
|
||||
_createSewerDamageListViewModel = createSewerDamageListViewModel;
|
||||
_createSewerDamageEditViewModel = createSewerDamageEditViewModel;
|
||||
}
|
||||
|
||||
public BaseViewModel CreateViewModel(ESewerWindowViewType viewType)
|
||||
@@ -29,6 +31,7 @@ namespace DaSaSo.ViewModel.Factories
|
||||
{
|
||||
case ESewerWindowViewType.SewerStammdaten: return _createSewerStammdatenViewModel();
|
||||
case ESewerWindowViewType.SewerDamageList: return _createSewerDamageListViewModel();
|
||||
case ESewerWindowViewType.SewerDamageEdit: return _createSewerDamageEditViewModel();
|
||||
default:
|
||||
throw new ArgumentException("The Viewtype does not have a ViewModel", "viewType");
|
||||
}
|
||||
|
||||
49
DaSaSo.ViewModel/SewerDamageEditViewModel.cs
Normal file
49
DaSaSo.ViewModel/SewerDamageEditViewModel.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
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; }
|
||||
|
||||
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);
|
||||
Berechne = new RelayCommand(() =>
|
||||
{
|
||||
Damage.DamageType = damageControllViewModel.CalculateDamageFlags();
|
||||
Damage.PreparationType = preperationControllViewModel.CalculatePreparationFlags();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -17,14 +17,15 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerMainListViewModel : BaseViewModel
|
||||
{
|
||||
private ISewerMainNavigator _navigator { get; set; }
|
||||
private ISewerMainNavigator Navigator { get; set; }
|
||||
private readonly SewerObjectDataService _dataservice;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private IActualProject _actualProject { get; set; }
|
||||
private IActualProject ActualProject { get; set; }
|
||||
public ICommand UpdateCurrentSewerViewModelCommand { get; }
|
||||
public ICommand CloseCommand { get; set; }
|
||||
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
|
||||
public ICommand SchadenCommand { get; set; }
|
||||
public BaseViewModel CurrentSewerViewModel => Navigator.CurrentViewModel;
|
||||
|
||||
public bool IsLoading
|
||||
{
|
||||
@@ -38,8 +39,8 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
string _schaden = "llooo";
|
||||
public string Schaden
|
||||
private SewerDamage _schaden;
|
||||
public SewerDamage Schaden
|
||||
{
|
||||
get => _schaden;
|
||||
set
|
||||
@@ -48,43 +49,54 @@ namespace DaSaSo.ViewModel
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string Strasse { get => _actualProject.AktuellSewerObject.StreetName; }
|
||||
public string AktualObject { get => _actualProject.AktuellSewerObject.ObjektName; }
|
||||
|
||||
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 bool CanSaveSewer => !string.IsNullOrEmpty(ActualProject.AktuellSewerObject.StreetName);
|
||||
|
||||
public SewerMainListViewModel(IDataService<SewerObject> dataService, ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory, IRenavigator renavigator, ISewerObjectService sewerObjectService, ISewerpointService sewerpointService)
|
||||
public SewerMainListViewModel(
|
||||
IDataService<SewerObject> dataService,
|
||||
ISewerMainNavigator navigator,
|
||||
IActualProject actualProject,
|
||||
IViewModelSewerMainFactory viewModelFactory,
|
||||
IRenavigator renavigator,
|
||||
ISewerObjectService sewerObjectService,
|
||||
ISewerpointService sewerpointService
|
||||
)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_actualProject = actualProject;
|
||||
Navigator = navigator;
|
||||
ActualProject = actualProject;
|
||||
_dataservice = (SewerObjectDataService)dataService;
|
||||
_renavigator = renavigator;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
CloseCommand = new SaveSewerCommand(_dataservice,_actualProject,_sewerObjectService,_renavigator,_navigator); //RelayCommand(SaveSewer);
|
||||
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;
|
||||
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)
|
||||
private void ActualProject_SewerDamageChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Schaden = _actualProject.AktuellSewerDamage.Distance.ToString();
|
||||
Schaden = ActualProject.AktuellSewerDamage;
|
||||
OnPropertyChanged(nameof(Schaden));
|
||||
}
|
||||
|
||||
private async void LoadModel()
|
||||
{
|
||||
IsLoading = true;
|
||||
SewerObject sewer = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
|
||||
_actualProject.SetSewerObject(sewer,false);
|
||||
SewerObject sewer = await _dataservice.Get(ActualProject.AktuellSewerObject.Id);
|
||||
ActualProject.SetSewerObject(sewer,false);
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
_navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
Navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
#endregion
|
||||
public void SetClient(Client client, bool notification = true)
|
||||
{
|
||||
//ResetProject();
|
||||
//ResetBuildingSite();
|
||||
AktuellClient = client;
|
||||
if(notification)
|
||||
OnClientChanged();
|
||||
@@ -55,6 +57,7 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
|
||||
public void SetProject(Project project, bool notification = true)
|
||||
{
|
||||
|
||||
AktuellProjekt = project;
|
||||
if(notification)
|
||||
OnProjectChanged();
|
||||
|
||||
@@ -23,6 +23,12 @@ 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;
|
||||
@@ -31,15 +37,15 @@ namespace DaSaSo.ViewModel
|
||||
private string _clientname = "";
|
||||
private string _projektname = "";
|
||||
private string _buildingsitename = "";
|
||||
RegistryKey registry;
|
||||
private readonly RegistryKey? registry;
|
||||
const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo";
|
||||
public bool CanSelectProject { get => _actualProject.AktuellClient != null; }
|
||||
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
||||
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
||||
|
||||
public IMainWindowNavigator _navigator { get; set; }
|
||||
public IMainWindowNavigator Navigator { get; set; }
|
||||
public ICommand UpdateCurrentViewModelCommand { get; }
|
||||
public BaseViewModel CurrentViewModel => _navigator.CurrentViewModel;
|
||||
public BaseViewModel CurrentViewModel => Navigator.CurrentViewModel;
|
||||
|
||||
public string ClientName
|
||||
{
|
||||
@@ -78,13 +84,17 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
public string ApplicationTitle
|
||||
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"))
|
||||
using (StreamReader reader = new StreamReader(stream))
|
||||
#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();
|
||||
}
|
||||
@@ -99,37 +109,37 @@ namespace DaSaSo.ViewModel
|
||||
IDataService<Buildingsite> buildingsiteDataService
|
||||
)
|
||||
{
|
||||
this._navigator = navigator;
|
||||
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;
|
||||
Navigator.StateChanged += Navigator_StateChanged;
|
||||
|
||||
UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Home);
|
||||
_actualProject = actualProject;
|
||||
_actualProject.ClientChanged += _actualProject_ClientChanged;
|
||||
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
||||
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
|
||||
_actualProject.ClientChanged += ActualProject_ClientChanged;
|
||||
_actualProject.ProjectChanged += ActualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += ActualProject_BuildingSiteChanged;
|
||||
_actualProject.SewerObjectChanged += ActualProject_SewerObjectChanged;
|
||||
|
||||
ladeRegistry();
|
||||
LadeRegistry();
|
||||
}
|
||||
|
||||
private async void ladeRegistry()
|
||||
private async void LadeRegistry()
|
||||
{
|
||||
|
||||
registry = Registry.CurrentUser.OpenSubKey("Software\\Cosysda\\DaSaSo");
|
||||
if (registry == null) initRegistry();
|
||||
int clientid = Convert.ToInt32((string)registry.GetValue("lastclient", "-1"));
|
||||
if (clientid == -1)
|
||||
return;
|
||||
Client lastClient = await _clientDataService.Get(clientid);
|
||||
if (lastClient == null)
|
||||
{
|
||||
saveInRegistry("lastclient", "-1");
|
||||
SaveInRegistry("lastclient", "-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetClient(lastClient);
|
||||
@@ -140,64 +150,65 @@ namespace DaSaSo.ViewModel
|
||||
Project lastProject = await _projectDataService.Get(projectid);
|
||||
if(lastProject == null)
|
||||
{
|
||||
saveInRegistry("lastproject","-1");
|
||||
SaveInRegistry("lastproject","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetProject(lastProject);
|
||||
|
||||
int buildingsiteid = Convert.ToInt32((string)registry.GetValue("lastbuildingsite", "-1"));
|
||||
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");
|
||||
SaveInRegistry("lastbuildingsite","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetBuildingSite(lastBuildingiste);
|
||||
|
||||
}
|
||||
|
||||
private void saveInRegistry(string key, string value)
|
||||
private static void SaveInRegistry(string key, string value)
|
||||
{
|
||||
Registry.SetValue(REGISTRYKEY, key, value);
|
||||
}
|
||||
|
||||
private void initRegistry()
|
||||
private void InitRegistry()
|
||||
{
|
||||
Registry.CurrentUser.CreateSubKey("Software\\Cosysda\\DaSaSo");
|
||||
ladeRegistry();
|
||||
LadeRegistry();
|
||||
}
|
||||
|
||||
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||
private void ActualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerMainMenu);
|
||||
}
|
||||
|
||||
private void _navigator_StateChanged()
|
||||
private void Navigator_StateChanged()
|
||||
{
|
||||
OnPropertyChanged(nameof(CurrentViewModel));
|
||||
}
|
||||
|
||||
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
private void ActualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastbuildingsite", _actualProject.AktuellBaustelle.Id.ToString());
|
||||
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)
|
||||
private void ActualProject_ProjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString());
|
||||
SaveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString());
|
||||
Projektname = _actualProject.AktuellProjekt.Name;
|
||||
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
||||
}
|
||||
|
||||
private void _actualProject_ClientChanged(object? sender, EventArgs e)
|
||||
private void ActualProject_ClientChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastclient", _actualProject.AktuellClient.Id.ToString());
|
||||
SaveInRegistry("lastclient", _actualProject.AktuellClient.Id.ToString());
|
||||
ClientName = _actualProject.AktuellClient.Firstname;
|
||||
OnPropertyChanged(nameof(CanSelectProject));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
|
||||
|
||||
Reference in New Issue
Block a user