diff --git a/Beispieldaten/XML2013.xml b/Beispieldaten/XML2013.xml new file mode 100644 index 0000000..3cca760 --- /dev/null +++ b/Beispieldaten/XML2013.xml @@ -0,0 +1,652 @@ + + + 2013-02 + + + 0056 + 0056 + 0056 + 26506 + Varel + komunal + + + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 1 + 123 + + + + 1 + 2023-04-19 + + + STA01 + 1 + + + 1 + 1 + 1 + 0 + 0 + + + 5 + 2022-02-04 + + + + STA01 + + 01440146 + 1 + KS + + 0 + 01440146 + 0 + 01440147 + 0 + W + + 0 + 0 + 200 + 200 + + + 1 + 42.29 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440835.938 + 5917432.636 + -0.060 + SMP + + + 440859.955 + 5917467.421 + -0.110 + SMP + + + + + + + + 01440147 + 1 + KS + + 0 + 01440147 + 0 + 01440148 + 0 + W + + 0 + 0 + 200 + 200 + + + 1 + 43.24 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440859.955 + 5917467.421 + -0.110 + SMP + + + 440884.457 + 5917503.030 + -0.230 + SMP + + + + + + + + 01440148 + 1 + KS + + 0 + 01440148 + 0 + 01440149 + 0 + W + + 0 + 0 + 200 + 200 + + + 1 + 43.24 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440884.457 + 5917503.030 + -0.230 + SMP + + + 440910.365 + 5917537.631 + -0.360 + SMP + + + + + + + + 01440149 + 1 + KS + + 0 + 01440149 + 0 + 01440010 + 0 + W + + 0 + 0 + 200 + 200 + + + 1 + 38.60 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440910.365 + 5917537.631 + -0.360 + SMP + + + 440935.848 + 5917566.607 + -0.460 + SMP + + + + + + + + 01440150 + 1 + KS + + 0 + 01440150 + 0 + 01440148 + 0 + 0.740 + W + + 0 + 0 + 200 + 200 + + + 1 + 37.94 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440916.606 + 5917482.916 + 0.920 + SMP + + + 440884.457 + 5917503.030 + -0.230 + SMP + + + + + + + + 01440152 + 1 + KS + + 0 + 01440152 + 0 + 01440153 + 0 + W + + 0 + 0 + 200 + 200 + + + 1 + 35.81 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440828.335 + 5917544.789 + 0.990 + SMP + + + 440857.054 + 5917523.416 + 0.760 + SMP + + + + + + + + 01440153 + 1 + KS + + 0 + 01440153 + 0 + 01440148 + 0 + 0.600 + W + + 0 + 0 + 200 + 200 + + + 1 + 34.17 + + + + 6302 + ERLENSTRAßE + + + L + + + + + 440857.054 + 5917523.416 + 0.760 + SMP + + + 440884.457 + 5917503.030 + -0.230 + SMP + + + + + + + + 01440010 + 2 + 1972 + KS + + 0 + + 1 + + + + 6310 + SIEDLUNGSWEG + + + 01440010 + P + + + + 440935.848 + 5917566.607 + -0.460 + SMP + + + 2.860 + DMP + + + + + + + 01440146 + 2 + KS + + 0 + + 1 + + + + 6301 + AHORNSTRAßE + + + 01440146 + P + + + + 440835.938 + 5917432.636 + -0.060 + SMP + + + 2.580 + DMP + + + + + + + 01440147 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440147 + P + + + + 440859.955 + 5917467.421 + -0.110 + SMP + + + 2.490 + DMP + + + + + + + 01440148 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440148 + P + + + + 440884.457 + 5917503.030 + -0.230 + SMP + + + 2.490 + DMP + + + + + + + 01440149 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440149 + P + + + + 440910.365 + 5917537.631 + -0.360 + SMP + + + 2.630 + DMP + + + + + + + 01440150 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440150 + P + + + + 440916.606 + 5917482.916 + 0.920 + SMP + + + 2.770 + DMP + + + + + + + 01440152 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440152 + P + + + + 440828.335 + 5917544.789 + 0.990 + SMP + + + 2.100 + DMP + + + + + + + 01440153 + 2 + KS + + 0 + + 1 + + + + 6302 + ERLENSTRAßE + + + 01440153 + P + + + + 440857.054 + 5917523.416 + 0.760 + SMP + + + 2.260 + DMP + + + + + + + + diff --git a/StammGenerator/Commands/ProjectExportCommand.cs b/StammGenerator/Commands/ProjectExportCommand.cs index 83f9381..743532c 100644 --- a/StammGenerator/Commands/ProjectExportCommand.cs +++ b/StammGenerator/Commands/ProjectExportCommand.cs @@ -15,34 +15,35 @@ namespace StammGenerator.Commands { internal class ProjectExportCommand : AsyncCommandBase { - private readonly IActualState _actualState; + private readonly ProjektListViewModel _projektListViewModel; + //private Projekt _selectedProjekt; private readonly IHaltungDataService _haltungDataService; private readonly ISchachtDataService _schachtDataService; - private readonly IProjektDataService _projektDataService; + - public ProjectExportCommand(IActualState actualState, IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IProjektDataService projektDataService) + public ProjectExportCommand(ProjektListViewModel projektListViewModel, IHaltungDataService haltungDataService, ISchachtDataService schachtDataService) { - _actualState = actualState; + _projektListViewModel = projektListViewModel; _haltungDataService = haltungDataService; _schachtDataService = schachtDataService; - _projektDataService = projektDataService; + } public override async Task ExecuteAsync(object? parameter) { - Projekt prj = await _projektDataService.Get(_actualState.ProjektID); - + if (_projektListViewModel.SelectedProjekt == null) return; + Projekt _selectedProjekt = _projektListViewModel.SelectedProjekt; try { - IExport export = ExporterFactory.Export(prj.ExportType); - IEnumerable haltungen = await _haltungDataService.GetAllByProjekt(prj); - IEnumerable schaechte = await _schachtDataService.GetAllByProjekt(prj); + IExport export = ExporterFactory.Export(_selectedProjekt.ExportType); + IEnumerable haltungen = await _haltungDataService.GetAllByProjekt(_selectedProjekt); + IEnumerable schaechte = await _schachtDataService.GetAllByProjekt(_selectedProjekt); - await export.Export(_actualState.ProjektID.ToString(), prj.Kodierungssystem, haltungen.ToList(), schaechte.ToList()); + await export.Export(_selectedProjekt.Id.ToString(), _selectedProjekt.Kodierungssystem, haltungen.ToList(), schaechte.ToList()); } catch(NotImplementedException) { - MessageBoxResult result = MessageBox.Show(string.Format("Schnittstelle Export format: {0} ist nicht Implementiert", prj.ExportType), "Fehlende Implementation", MessageBoxButton.OK, MessageBoxImage.Exclamation); + MessageBoxResult result = MessageBox.Show(string.Format("Schnittstelle Export format: {0} ist nicht Implementiert", _selectedProjekt.ExportType), "Fehlende Implementation", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } } diff --git a/StammGenerator/HostBuilders/AddViewModelsHostBuilderExtensions.cs b/StammGenerator/HostBuilders/AddViewModelsHostBuilderExtensions.cs index 19981b4..cb3b6f8 100644 --- a/StammGenerator/HostBuilders/AddViewModelsHostBuilderExtensions.cs +++ b/StammGenerator/HostBuilders/AddViewModelsHostBuilderExtensions.cs @@ -86,11 +86,9 @@ namespace StammGenerator.HostBuilders { return () => new ProjektEditViewModel( services.GetRequiredService(), - services.GetRequiredService(), - services.GetRequiredService(), services.GetRequiredService(), - services.GetRequiredService>(), - services.GetRequiredService>() + services.GetRequiredService>() + ); }); @@ -98,8 +96,11 @@ namespace StammGenerator.HostBuilders { return () => new ProjektListViewModel( services.GetRequiredService(), + services.GetRequiredService(), + services.GetRequiredService(), + services.GetRequiredService(), services.GetRequiredService>(), - services.GetRequiredService() + services.GetRequiredService>() ); }); #endregion diff --git a/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs b/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs index 43f0851..2d7f103 100644 --- a/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs +++ b/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs @@ -17,8 +17,7 @@ namespace StammGenerator.ViewModel public ProjektSettingsViewModel ProjektSettingsViewModel { get; set; } public ICommand Speichern { get; set; } - public ICommand SchachtImportCommand { get; set; } - public ICommand DatenExportCommand { get; set; } + public string ProjektName { @@ -69,7 +68,7 @@ namespace StammGenerator.ViewModel } } - public ProjektEditViewModel(IProjektDataService dataService,IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IActualState actualState, IRenavigator renavigator, IRenavigator navigatetoImport) + public ProjektEditViewModel(IProjektDataService dataService, IActualState actualState, IRenavigator renavigator) { _dataService = dataService; _renavigator = renavigator; @@ -83,12 +82,7 @@ namespace StammGenerator.ViewModel LoadProjekt(); - SchachtImportCommand = new RelayCommand((x) => - { - navigatetoImport.Renavigate(); - }); - - DatenExportCommand = new ProjectExportCommand(actualState, haltungDataService, schachtDataService, dataService); + } diff --git a/StammGenerator/ViewModel/Projekt/ProjektListViewModel.cs b/StammGenerator/ViewModel/Projekt/ProjektListViewModel.cs index f658573..80992a7 100644 --- a/StammGenerator/ViewModel/Projekt/ProjektListViewModel.cs +++ b/StammGenerator/ViewModel/Projekt/ProjektListViewModel.cs @@ -1,4 +1,5 @@ -using SewerStammGen.Shared.Contracts; +using SewerStammGen.DAL.Services.PostgresqlData; +using SewerStammGen.Shared.Contracts; using SewerStammGen.Shared.Domain; using StammGenerator.Commands; using StammGenerator.Interface; @@ -22,8 +23,9 @@ namespace StammGenerator.ViewModel public ICommand EditCommand { get; set; } private Projekt? _selectedProjekt; + public ICommand SchachtImportCommand { get; set; } + public ICommand DatenExportCommand { get; set; } - public Projekt? SelectedProjekt { @@ -39,7 +41,7 @@ namespace StammGenerator.ViewModel } } - public ProjektListViewModel(IProjektDataService generic, IRenavigator renavigator,IActualState actualState) + public ProjektListViewModel(IProjektDataService generic, IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IActualState actualState, IRenavigator renavigator, IRenavigator navigatetoImport) { _projekte = new ObservableCollection(); if (generic == null) throw new ArgumentNullException(nameof(generic)); @@ -50,6 +52,12 @@ namespace StammGenerator.ViewModel EditCommand = new ProjektEditCommand(generic, actualState, renavigator, this); LoadProjekte(); + + SchachtImportCommand = new RelayCommand((x) => + { + navigatetoImport.Renavigate(); + }); + DatenExportCommand = new ProjectExportCommand(this, haltungDataService, schachtDataService); } private async void LoadProjekte() diff --git a/StammGenerator/Views/Projekt/ProjektEditView.xaml b/StammGenerator/Views/Projekt/ProjektEditView.xaml index 0ac5aaf..bdab17b 100644 --- a/StammGenerator/Views/Projekt/ProjektEditView.xaml +++ b/StammGenerator/Views/Projekt/ProjektEditView.xaml @@ -39,8 +39,6 @@