XML Writer angefangen

This commit is contained in:
2023-04-24 23:23:35 +02:00
parent d511c74509
commit ef2c9bfe6b
9 changed files with 875 additions and 34 deletions

View File

@@ -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);
}
}
}