XML Writer angefangen
This commit is contained in:
@@ -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<Kanal> haltungen = await _haltungDataService.GetAllByProjekt(prj);
|
||||
IEnumerable<Schacht> schaechte = await _schachtDataService.GetAllByProjekt(prj);
|
||||
IExport export = ExporterFactory.Export(_selectedProjekt.ExportType);
|
||||
IEnumerable<Kanal> haltungen = await _haltungDataService.GetAllByProjekt(_selectedProjekt);
|
||||
IEnumerable<Schacht> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,11 +86,9 @@ namespace StammGenerator.HostBuilders
|
||||
{
|
||||
return () => new ProjektEditViewModel(
|
||||
services.GetRequiredService<IProjektDataService>(),
|
||||
services.GetRequiredService<IHaltungDataService>(),
|
||||
services.GetRequiredService<ISchachtDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektListViewModel>>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeImportViewModel>>()
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektListViewModel>>()
|
||||
|
||||
);
|
||||
});
|
||||
|
||||
@@ -98,8 +96,11 @@ namespace StammGenerator.HostBuilders
|
||||
{
|
||||
return () => new ProjektListViewModel(
|
||||
services.GetRequiredService<IProjektDataService>(),
|
||||
services.GetRequiredService<IHaltungDataService>(),
|
||||
services.GetRequiredService<ISchachtDataService>(),
|
||||
services.GetRequiredService<IActualState>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ProjektEditViewModel>>(),
|
||||
services.GetRequiredService<IActualState>()
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ManholeImportViewModel>>()
|
||||
);
|
||||
});
|
||||
#endregion
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Projekt>();
|
||||
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()
|
||||
|
||||
@@ -39,8 +39,6 @@
|
||||
|
||||
<StackPanel Grid.ColumnSpan="2" Grid.Row="4">
|
||||
<Button Content="Speichern" Command="{Binding Speichern}" />
|
||||
<Button Content="Schächte aus CSV Importieren" Command="{Binding SchachtImportCommand}" />
|
||||
<Button Content="Projektdaten nach Schnittstelle exportieren" Command="{Binding DatenExportCommand}" />
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
@@ -16,9 +16,11 @@
|
||||
<DataGridTextColumn Header="Ort" Binding="{Binding Ort}" />
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<Button Margin="2" FontSize="20" Content="Projekt Auswählen" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding SelectCommand}" />
|
||||
<Button Margin="2" FontSize="20" Content="Projekt Editieren" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding EditCommand}" />
|
||||
<Button Margin="2" FontSize="20" Content="Projekt Anlegen" Command="{Binding AddCommand}" />
|
||||
<Button Margin="2" Content="Projekt Auswählen" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding SelectCommand}" />
|
||||
<Button Margin="2" Content="Projekt Editieren" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding EditCommand}" />
|
||||
<Button Margin="2" Content="Projekt Anlegen" Command="{Binding AddCommand}" />
|
||||
<Button Margin="2" Content="Schächte aus CSV Importieren" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding SchachtImportCommand}" />
|
||||
<Button Margin="2" Content="Projektdaten nach Schnittstelle exportieren" IsEnabled="{Binding CanSelectProjekt}" Command="{Binding DatenExportCommand}" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
Reference in New Issue
Block a user