Projekteinstellungen erweitert
This commit is contained in:
@@ -1,27 +1,49 @@
|
||||
using SewerStammGen.Shared.Domain;
|
||||
using SewerStammGen.Shared.Contracts;
|
||||
using SewerStammGen.Shared.Domain;
|
||||
using Shared.Contracts;
|
||||
using StammGenerator.Commands;
|
||||
using StammGenerator.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using WWTech_KanalSchnittstelle.Exporter;
|
||||
|
||||
namespace StammGenerator.Commands
|
||||
{
|
||||
internal class ProjectExportCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualState _actualState;
|
||||
private readonly IExport _export;
|
||||
private readonly IHaltungDataService _haltungDataService;
|
||||
private readonly ISchachtDataService _schachtDataService;
|
||||
private readonly IProjektDataService _projektDataService;
|
||||
|
||||
public ProjectExportCommand(IActualState actualState)
|
||||
public ProjectExportCommand(IActualState actualState, IHaltungDataService haltungDataService, ISchachtDataService schachtDataService, IProjektDataService projektDataService)
|
||||
{
|
||||
_actualState = actualState;
|
||||
|
||||
_haltungDataService = haltungDataService;
|
||||
_schachtDataService = schachtDataService;
|
||||
_projektDataService = projektDataService;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
await _export.Export(new List<Kanal>(), new List<Schacht>());
|
||||
|
||||
Projekt prj = await _projektDataService.Get(_actualState.ProjektID);
|
||||
|
||||
try
|
||||
{
|
||||
IExport export = ExporterFactory.Export(prj.ExportType);
|
||||
IEnumerable<Kanal> haltungen = await _haltungDataService.GetAllByProjekt(prj);
|
||||
IEnumerable<Schacht> schaechte = await _schachtDataService.GetAllByProjekt(prj);
|
||||
|
||||
await export.Export(_actualState.ProjektID.ToString(), prj.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user